我已经在我的 ZF2 项目中使用 Doctrine and Migrations 几个星期了,没有问题。我一直在通过指定我自己的配置文件来执行迁移:
vendor/bin/doctrine-module migrations:diff --configuration=/path/to/migrations-config.xml
我最近通过 composer 将Codeception引入到我的项目中,当我最近去执行新的迁移时(使用与上述相同的命令),我收到以下错误:
[InvalidArgumentException]
Migrations directory data/DoctrineORMModule/Migrations does not exist
这不是我在配置文件中指定的目录。起初我认为 Doctrine Migrations 完全忽略了我的 --configuration 论点。当我跟踪它时,我发现 Doctrine Migrations 没有使用我的 --configuration 参数,因为它已经加载了一个配置文件。
有谁知道这个配置文件可能来自哪里?我可以通过在 AbstractCommand getMigrationConfiguration() 中注释掉条件来暂时解决这个问题,但从长远来看,我宁愿不必依赖这个。我还将尝试删除代码接收,看看是否有任何影响。任何帮助表示赞赏。