private function getMigrationsConfiguration() { $em = $this->getDoctrine()->getEntityManager(); $dir = $this->container->getParameter('doctrine_migrations.dir_name'); $configuration = new \Doctrine\DBAL\Migrations\Configuration\Configuration($em->getConnection()); $configuration->setMigrationsNamespace($this->container->getParameter('doctrine_migrations.namespace')); $configuration->setMigrationsDirectory($dir); $configuration->registerMigrationsFromDirectory($dir); $configuration->setName($this->container->getParameter('doctrine_migrations.name')); $configuration->setMigrationsTableName($this->container->getParameter('doctrine_migrations.table_name')); return $configuration; }
protected function getDoctrineMigrationConfig() { $config = Registry::getConfig(); // Doctrine Migration $entityManager = Registry::getEntityManager(); $configuration = new \Doctrine\DBAL\Migrations\Configuration\Configuration($entityManager->getConnection()); $configuration->setName($config->migration->doctrine->name); $configuration->setMigrationsNamespace($config->migration->doctrine->migrations_namespace); $configuration->setMigrationsTableName($config->migration->doctrine->table_name); $configuration->setMigrationsDirectory($config->migration->doctrine->migrations_directory); $configuration->registerMigrationsFromDirectory($configuration->getMigrationsDirectory()); return $configuration; }
/** * Get Doctrine Migration Command Line Interface * * @return \Symfony\Component\Console\Application */ public function getDoctrineMigrationCli() { if ($this->cli) { return $this->cli; } $em = \Env::get('em'); $conn = $em->getConnection(); $this->cli = new \Symfony\Component\Console\Application('Doctrine Migration Command Line Interface', \Doctrine\Common\Version::VERSION); $this->cli->setCatchExceptions(true); $helperSet = $this->cli->getHelperSet(); $helpers = array('db' => new \Doctrine\DBAL\Tools\Console\Helper\ConnectionHelper($conn), 'em' => new \Doctrine\ORM\Tools\Console\Helper\EntityManagerHelper($this->cx->getDb()->getEntityManager())); foreach ($helpers as $name => $helper) { $helperSet->set($helper, $name); } //custom configuration $configuration = new \Doctrine\DBAL\Migrations\Configuration\Configuration($conn); $configuration->setName('Doctrine Migration'); $configuration->setMigrationsNamespace('Cx\\Core_Modules\\Update\\Data\\Migrations'); $configuration->setMigrationsTableName(DBPREFIX . 'migration_versions'); $configuration->setMigrationsDirectory($this->cx->getCodeBaseCoreModulePath() . '/Update/Data/Migrations'); $configuration->registerMigrationsFromDirectory($this->cx->getCodeBaseCoreModulePath() . '/Update/Data/Migrations'); $this->cli->addCommands(array($this->getDoctrineMigrationCommand('\\Cx\\Core_Modules\\Update\\Model\\Entity\\MigrationsDiffDoctrineCommand', $configuration), $this->getDoctrineMigrationCommand('\\Doctrine\\DBAL\\Migrations\\Tools\\Console\\Command\\ExecuteCommand', $configuration), $this->getDoctrineMigrationCommand('\\Doctrine\\DBAL\\Migrations\\Tools\\Console\\Command\\GenerateCommand', $configuration), $this->getDoctrineMigrationCommand('\\Doctrine\\DBAL\\Migrations\\Tools\\Console\\Command\\MigrateCommand', $configuration), $this->getDoctrineMigrationCommand('\\Doctrine\\DBAL\\Migrations\\Tools\\Console\\Command\\StatusCommand', $configuration), $this->getDoctrineMigrationCommand('\\Doctrine\\DBAL\\Migrations\\Tools\\Console\\Command\\VersionCommand', $configuration))); $this->cli->setAutoExit(false); return $this->cli; }
/** * @param \Nette\DI\Container * @return \Doctrine\DBAL\Migrations\Configuration\Configuration */ public static function createServiceMigrationConfiguration(DI\Container $context) { $config = new \Doctrine\DBAL\Migrations\Configuration\Configuration($context->entityManager->getConnection()); $config->setName($this->configuration['migration']['name']); $config->setMigrationsTableName($this->configuration['migration']['table']); $config->setMigrationsDirectory($this->configuration['migration']['directory']); $config->setMigrationsNamespace($this->configuration['migration']['namespace']); $context->freeze(); return $config; }