public setMigrationsAreOrganizedByYearAndMonth ( boolean $migrationsAreOrganizedByYearAndMonth = true ) | ||
$migrationsAreOrganizedByYearAndMonth | boolean |
public static function configureMigrations(ContainerInterface $container, Configuration $configuration) { if (!$configuration->getMigrationsDirectory()) { $dir = $container->getParameter('doctrine_migrations.dir_name'); if (!file_exists($dir)) { mkdir($dir, 0777, true); } $configuration->setMigrationsDirectory($dir); } else { $dir = $configuration->getMigrationsDirectory(); // class Kernel has method getKernelParameters with some of the important path parameters $pathPlaceholderArray = array('kernel.root_dir', 'kernel.cache_dir', 'kernel.logs_dir'); foreach ($pathPlaceholderArray as $pathPlaceholder) { if ($container->hasParameter($pathPlaceholder) && preg_match('/\\%' . $pathPlaceholder . '\\%/', $dir)) { $dir = str_replace('%' . $pathPlaceholder . '%', $container->getParameter($pathPlaceholder), $dir); } } if (!file_exists($dir)) { mkdir($dir, 0777, true); } $configuration->setMigrationsDirectory($dir); } if (!$configuration->getMigrationsNamespace()) { $configuration->setMigrationsNamespace($container->getParameter('doctrine_migrations.namespace')); } if (!$configuration->getName()) { $configuration->setName($container->getParameter('doctrine_migrations.name')); } // For backward compatibility, need use a table from parameters for overwrite the default configuration if (!$configuration->getMigrationsTableName() || !$configuration instanceof AbstractFileConfiguration) { $configuration->setMigrationsTableName($container->getParameter('doctrine_migrations.table_name')); } // Migrations is not register from configuration loader if (!$configuration instanceof AbstractFileConfiguration) { $configuration->registerMigrationsFromDirectory($configuration->getMigrationsDirectory()); } if ($container->hasParameter('doctrine_migrations.organize_migrations')) { $organizeMigrations = $container->getParameter('doctrine_migrations.organize_migrations'); switch ($organizeMigrations) { case Configuration::VERSIONS_ORGANIZATION_BY_YEAR: $configuration->setMigrationsAreOrganizedByYear(true); break; case Configuration::VERSIONS_ORGANIZATION_BY_YEAR_AND_MONTH: $configuration->setMigrationsAreOrganizedByYearAndMonth(true); break; case false: break; default: throw new InvalidConfigurationException('Unrecognized option "' . $organizeMigrations . '" under "organize_migrations"'); } } self::injectContainerToMigrations($container, $configuration->getMigrations()); }