如何获取要执行的下一个迁移的名称/版本?类似于migrations:latest
但更像migrations:next
.我需要它作为另一个命令的输入,所以它需要可解析的输出(不能真的只使用 migrations:status
(。
您可以使用 Doctrine 迁移包的 Configuration
对象。这甚至(在某种程度上(记录为自定义配置。
这是一个对我有用的最小代码示例:
public function migrationVersionAction(EntityManagerInterface $em, ParameterBagInterface $parameters) {
$connection = $em->getConnection();
$configuration = new DoctrineMigrationsConfigurationConfiguration($connection);
$configuration->setMigrationsNamespace($parameters->get('doctrine_migrations.namespace'));
$configuration->setMigrationsDirectory($parameters->get('doctrine_migrations.dir_name'));
$configuration->setMigrationsTableName($parameters->get('doctrine_migrations.table_name'));
return new JsonResponse([
'prev' => $configuration->resolveVersionAlias('prev'),
'current' => $configuration->resolveVersionAlias('current'),
'next' => $configuration->resolveVersionAlias('next'),
'latest' => $configuration->resolveVersionAlias('latest')
]);
}
不过,您可能还希望设置其余参数,尤其是当它们与默认值不同时。为此,除了上面的链接之外,配置文档可能会有所帮助。