如何获取下一个要执行的迁移的名称/版本?与migrations:latest
类似,但更像migrations:next
。我需要将此作为另一个命令的输入,因此它需要是可解析的输出(不能只使用migrations:status
)。
答案 0 :(得分:1)
您可以使用Doctrine迁移包中的Configuration
对象。甚至(有些)记录为custom configuration。
这是一个对我有用的最小代码示例:
public function migrationVersionAction(EntityManagerInterface $em, ParameterBagInterface $parameters) {
$connection = $em->getConnection();
$configuration = new \Doctrine\Migrations\Configuration\Configuration($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')
]);
}
您可能还想设置其余参数,尤其是当它们与默认值不同时。为此,除了上面的链接之外,configuration documentation可能会有所帮助。