Ejemplo n.º 1
0
 /**
  * @param  File $file
  * @return int number of queries
  */
 public function execute(File $file)
 {
     $count = $this->driver->loadFile($file->path);
     if ($count === 0) {
         throw new LogicException("{$file->path} is empty");
     }
     return $count;
 }
Ejemplo n.º 2
0
 /**
  * @param  File $file
  * @return int  number of executed queries
  */
 protected function execute(File $file)
 {
     $this->driver->beginTransaction();
     $migration = new Migration();
     $migration->group = $file->group->name;
     $migration->filename = $file->name;
     $migration->checksum = $file->checksum;
     $migration->executedAt = new DateTime('now');
     $this->driver->insertMigration($migration);
     try {
         $queriesCount = $this->getExtension($file->extension)->execute($file);
     } catch (\Exception $e) {
         $this->driver->rollbackTransaction();
         throw new ExecutionException(sprintf('Executing migration "%s" has failed.', $file->path), NULL, $e);
     }
     $this->driver->markMigrationAsReady($migration);
     $this->driver->commitTransaction();
     return $queriesCount;
 }
Ejemplo n.º 3
0
 /**
  * @param  File
  * @return int  number of executed queries
  */
 protected function execute(File $file)
 {
     $this->driver->beginTransaction();
     // Note: MySQL implicitly commits after some operations, such as CREATE or ALTER TABLE, see http://dev.mysql.com/doc/refman/5.6/en/implicit-commit.html
     // proto se radeji kontroluje jestli bylo dokonceno
     $migration = new Migration();
     $migration->group = $file->group->name;
     $migration->filename = $file->name;
     $migration->checksum = $file->checksum;
     $migration->executedAt = new DateTime('now');
     $this->driver->insertMigration($migration);
     try {
         $queriesCount = $this->getExtension($file->extension)->execute($file);
     } catch (\Exception $e) {
         $this->driver->rollbackTransaction();
         throw new ExecutionException(sprintf('Executing migration "%s" has failed.', $file->getPath()), NULL, $e);
     }
     $this->driver->markMigrationAsReady($migration);
     $this->driver->commitTransaction();
     return $queriesCount;
 }
Ejemplo n.º 4
0
 public function run()
 {
     $this->processArguments();
     $this->driver->createTable();
     $this->runner->run(Runner::MODE_CONTINUE);
 }
 public function execute(InputInterface $input, OutputInterface $output)
 {
     $this->driver->unlock();
     $output->writeln('<info>Migrations unlocked.</info>');
 }