public function runUpgradeAutomatically(Connection $conn, BaseDriver $driver, array $schemas, OptionResult $options = null)
{
$script = new AutomaticMigration($conn, $driver, $this->logger, $options);
try {
$this->logger->info('Begining transaction...');
$conn->beginTransaction();
// where to find the schema?
$script->upgrade($schemas);
$this->logger->info('Committing...');
$conn->commit();
} catch (Exception $e) {
$this->logger->error('Exception was thrown: ' . $e->getMessage());
$this->logger->warn('Rolling back ...');
$conn->rollback();
$this->logger->warn('Recovered, escaping...');
throw $e;
}
}