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
在自定义文件中,我可以随意配置。
希望此解决方案对其他人有所帮助。
朋友们,美好的一天。
我想在迁移中使用 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
在自定义文件中,我可以随意配置。
希望此解决方案对其他人有所帮助。