问题描述
美好的一天,我的朋友们。
我想在迁移中使用学说 ORM。
接下来的问题是:我想将迁移配置文件放在特定文件夹中。例如:'config/doctrine-migrations.PHP'。
当我按照官方文档将 migrations.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
在自定义文件中,我可以随意配置。
希望这个解决方案能帮助其他人。