コード例 #1
0
 public function testLoadedVersions()
 {
     $this->preMigrationEvent->setLoadedVersion('testBundle', 'v1_0');
     $this->assertEquals(['testBundle' => 'v1_0'], $this->preMigrationEvent->getLoadedVersions());
     $this->assertEquals('v1_0', $this->preMigrationEvent->getLoadedVersion('testBundle'));
     $this->assertNull($this->preMigrationEvent->getLoadedVersion('nonLoggedBundle'));
 }
コード例 #2
0
 /**
  * @param PreMigrationEvent $event
  */
 public function onPreUp(PreMigrationEvent $event)
 {
     if ($event->isTableExist(Tables::MIGRATION_TABLE)) {
         $data = $event->getData(sprintf('select * from %s where id in (select max(id) from %s group by bundle)', Tables::MIGRATION_TABLE, Tables::MIGRATION_TABLE));
         foreach ($data as $val) {
             $event->setLoadedVersion($val['bundle'], $val['version']);
         }
     } else {
         $event->addMigration(new CreateMigrationTableMigration());
     }
 }