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')); }
/** * @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()); } }