0

我正在尝试在我的 Symfony 项目中使用 Doctrine 2 Migrations。

为此,我首先把

[doctrine-migrations]
   git=http://github.com/doctrine/migrations.git

[DoctrineMigrationsBundle]
   git=http://github.com/doctrine/DoctrineMigrationsBundle.git
   target=/bundles/Symfony/Bundle/DoctrineMigrationsBundle
   version=origin/2.0

在 th deps 文件中。

然后我更新供应商:

php bin/vendors install

并尝试使用

php app/console doctrine:migrations:diff

但是我遇到了一个致命错误:

PHP Fatal error:  Call to undefined method Doctrine\DBAL\Configuration::getFilterSchemaAssetsExpression() in /home/milos/workspace/Symfony/vendor/doctrine-migrations/lib/Doctrine/DBAL/Migrations/Tools/Console/Command/DiffCommand.php on line 85

Fatal error: Call to undefined method Doctrine\DBAL\Configuration::getFilterSchemaAssetsExpression() in /home/milos/workspace/Symfony/vendor/doctrine-migrations/lib/Doctrine/DBAL/Migrations/Tools/Console/Command/DiffCommand.php on line 85
4

1 回答 1

1

嗯,问题是教义迁移正在调用一个只存在于 Doctrine 2.2 中的函数,而不是 Doctrine 2.1。这是几天前在这个提交中刚刚介绍的

问题是教义迁移没有任何分支或标签,因此您不能要求适合您的旧版本。

如果您使用的是 symfony-2.0,则很难升级到 Doctrine 2.2。所以,我要做的是暂时手动删除该提交中引入的行,然后在学说迁移 github上打开一个新问题,解释情况并要求修复(可能最好的主意是为与 Doctrine 2.1 兼容的版本)

编辑

由于@Milos 提出的问题,这个问题现在已经得到解决!你不应该再发现这个问题了。

于 2012-09-19T14:14:36.217 回答