Esempio n. 1
0
 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;
 }
Esempio n. 2
0
 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;
 }
Esempio n. 4
0
	/**
	 * @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;
	}