Doctrine Migration Bundle:升级到版本 3 后出现更新错误

Doctrine Migration Bundle: Update Error after upgrade to Version 3

最近升级到 doctrine-migrations 版本 3,这是供应商库升级的一部分,所以我们现在不得不跟进 ;)

我们这样配置的:

doctrine_migrations:
    migrations_paths:
        "DoctrineMigrations": "src/Migrations"

    storage:
        table_storage:
            table_name: 'migration_versions'
            version_column_name: 'version'
            version_column_length: 1024
            executed_at_column_name: 'executed_at'
            execution_time_column_name: 'execution_time'

然而,我们得到以下奇怪的迁移错误。

bin/console doctrine:migrations:status 给出此 "everything fine" 输出:

+----------------------+----------------------+------------------------------------------------------------------------+
| Configuration                                                                                                        |
+----------------------+----------------------+------------------------------------------------------------------------+
| Storage              | Type                 | Doctrine\Migrations\Metadata\Storage\TableMetadataStorageConfiguration |
|                      | Table Name           | migration_versions                                                     |
|                      | Column Name          | version                                                                |
|----------------------------------------------------------------------------------------------------------------------|
| Database             | Driver               | Doctrine\DBAL\Driver\PDOMySql\Driver                                   |
|                      | Name                 | dwconnect2                                                             |
|----------------------------------------------------------------------------------------------------------------------|
| Versions             | Previous             | DoctrineMigrations\Version20200522213838                               |
|                      | Current              | DoctrineMigrations\Version20200608142225                               |
|                      | Next                 | Already at latest version                                              |
|                      | Latest               | DoctrineMigrations\Version20200608142225                               |
|----------------------------------------------------------------------------------------------------------------------|
| Migrations           | Executed             | 18                                                                     |
|                      | Executed Unavailable | 0                                                                      |
|                      | Available            | 18                                                                     |
|                      | New                  | 0                                                                      |
|----------------------------------------------------------------------------------------------------------------------|
| Migration Namespaces | DoctrineMigrations   | src/Migrations                                                         |
+----------------------+----------------------+------------------------------------------------------------------------+

但是如果我们 运行 bin/console doctrine:migrations:migrate --no-interaction 它会抛出以下错误:

[ERROR] The version "latest" couldn't be reached, you are at version "DoctrineMigrations\Version20200608142225"  

我们的数据库看起来不错,因为我们清理了它,运行更新了所有迁移。

非常感谢您的帮助!
安德烈亚斯

因此归功于 this reply on the original github issue

bin/console doctrine:migrations:migrate --allow-no-migration --no-interaction

这会将错误转换为警告。