get('config'); $doctrineConfig = $config['doctrine']; $paths = $doctrineConfig['driver']['orm_bee_annotation_driver']['paths']; $dbParams = $doctrineConfig['connection']['orm_bee']['params']; $migrationsConf = $doctrineConfig['migrations_configuration']['orm_bee']; $reader = new AnnotationReader(); $driver = new AnnotationDriver($reader, $paths); $config = Setup::createAnnotationMetadataConfiguration($paths, $isDevMode); $config->setMetadataDriverImpl($driver); $entityManager = $container->get(EntityManager::class); try { $connection = DriverManager::getConnection($dbParams); } catch (\Doctrine\DBAL\Exception $e) { echo $e->getMessage(); exit; } $configuration = new Configuration($connection); $configuration->addMigrationsDirectory( $migrationsConf['namespace'], $migrationsConf['directory'] ); $configuration->setAllOrNothing(true); $configuration->setCheckDatabasePlatform(false); $storageConfiguration = new TableMetadataStorageConfiguration(); $storageConfiguration->setTableName($migrationsConf['table']); $configuration->setMetadataStorageConfiguration($storageConfiguration); $dependencyFactory = DependencyFactory::fromConnection( new ExistingConfiguration($configuration), new ExistingConnection($connection) ); $cli = new Application('Doctrine Migrations'); $cli->setCatchExceptions(true); $cli->addCommands([ new DumpSchemaCommand($dependencyFactory), new ExecuteCommand($dependencyFactory), new GenerateCommand($dependencyFactory), new LatestCommand($dependencyFactory), new ListCommand($dependencyFactory), new MigrateCommand($dependencyFactory), new RollupCommand($dependencyFactory), new StatusCommand($dependencyFactory), new SyncMetadataCommand($dependencyFactory), new VersionCommand($dependencyFactory), ]); try { $cli->run(); } catch (Exception $e) { echo $e->getMessage(); }