Doctrine ORM 不适用于迁移

问题描述

美好的一天,我的朋友们。

我想在迁移中使用学说 ORM。

接下来的问题是:我想将迁移配置文件放在特定文件夹中。例如:'config/doctrine-migrations.PHP'。

当我按照官方文档将 migrations.PHP 文件放在根文件夹中时,一切正常,但是当我尝试将其放在特定文件夹中时,系统不起作用。

我的 cli-config.PHP 内容是:

<?PHP

require_once "app/bootstrap.PHP";

return \Doctrine\ORM\Tools\Console\ConsoleRunner::createHelperSet($container->get(\Doctrine\ORM\EntityManager::class));

好吧,我可以通过下一种方式更改此文件

<?PHP

require_once "app/bootstrap.PHP";

return \Doctrine\Migrations\DependencyFactory::fromEntityManager(
    new \Doctrine\Migrations\Configuration\Migration\PHPFile(BP . '/config/doctrine-migrations.PHP'),new \Doctrine\Migrations\Configuration\EntityManager\ExistingEntityManager($container->get(\Doctrine\ORM\EntityManager::class))
);

此后,Doctrine Migration 工作正常,但 Doctrine ORM 因下一个错误而停止工作:

Argument #1 ($helperSet) must be of type Symfony\Component\Console\Helper\HelperSet,Doctrine\Migrations\DependencyFactory given

如果有人知道如何解决我的问题并使用特定的配置文件,请说明可能的解决方案。

最好的问候,梅维斯。

解决方法

看起来我找到了答案。

我可以通过本指南在我的应用程序中添加自定义集成:https://www.doctrine-project.org/projects/doctrine-migrations/en/3.0/reference/custom-integration.html

在自定义文件中,我可以随意配置。

希望这个解决方案能帮助其他人。