Doctrine ORM 不适用于迁移

Doctrine ORM not working with the Migrations

朋友们,美好的一天。

我想在迁移中使用 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

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

希望此解决方案对其他人有所帮助。