gpt4 book ai didi

doctrine-orm - 不使用指定配置的 Doctrine 迁移

转载 作者:行者123 更新时间:2023-12-01 09:27:07 25 4
gpt4 key购买 nike

我已经在我的 ZF2 项目中使用 Doctrine and Migrations 几个星期了,没有任何问题。我一直在通过指定自己的配置文件来执行迁移:

vendor/bin/doctrine-module migrations:diff --configuration=/path/to/migrations-config.xml

我最近引入了Codeception通过composer进入我的项目,当我最近去执行一个新的迁移(使用上面相同的命令)时,我收到了以下错误:

[InvalidArgumentException]
Migrations directory data/DoctrineORMModule/Migrations does not exist

这不是我在配置文件中指定的目录。起初我认为 Doctrine Migrations 完全忽略了我的 --configuration 论点。当我跟踪它时,我发现 Doctrine Migrations 没有使用我的 --configuration 参数,因为它已经加载了一个配置文件。

有人知道这个配置文件是从哪里引入的吗?我可以通过在 AbstractCommand getMigrationConfiguration() 中注释掉条件来暂时解决这个问题,但从长远来看,我宁愿不必依赖这个。我还将尝试删除代码接收,看看是否有任何影响。任何帮助表示赞赏。

最佳答案

事实证明,我能够将 Doctrine 迁移配置移动到我的 ZF2 模块配置中。在我的 module.config.php 中,我指定了以下内容(Api 是模块名称):

'doctrine' => array(
'driver' => array(
'application_entities' => array(
'class' =>'Doctrine\ORM\Mapping\Driver\AnnotationDriver',
'cache' => 'array',
'paths' => array(__DIR__ . '/../src/Api/Entity')
),
'orm_default' => array(
'drivers' => array(
'Api\Entity' => 'application_entities'
)
)
),
'migrations_configuration' => array(
'orm_default' => array(
'directory' => 'data/migrations',
'namespace' => 'My\Namespace\Migrations',
'table' => 'migrations',
),
),
),

这允许我运行 Doctrine 迁移命令而无需指定配置文件,例如:

vendor/bin/doctrine-module migrations:diff

关于doctrine-orm - 不使用指定配置的 Doctrine 迁移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21499253/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com