0

之后php flow flow:doctrine:migrate......我得到了以下错误:

An exception occurred while executing 'ALTER TABLE user ADD gdisplayname LONGTEXT DEFAULT NULL, ADD tdisplayname LONGTEXT DEFAULT NULL, ADD fdisplayname LONGTEXT DEFAULT NULL': SQLSTATE[42S21]: Column already exists: 1060 Duplicate column name 'gdisplayname'

我尝试使用以下方法删除已经存在的列:

ALTER TABLE user DROP COLUMN gdisplayname;

然后重用php flow flow:doctrine:migrate

这没用。如何在不需要转储整个数据库并成功迁移数据库的情况下消除此错误?

提前致谢。

4

2 回答 2

2

如果已应用迁移,您可以将其设置为已迁移,这样 Flow 就不会再次尝试应用它。首先,检查哪个迁移导致错误

./flow doctrine:migrationstatus

然后将其设置为已迁移:

./flow:doctrine:migrationversion --version <version> --add
于 2016-09-18T21:04:28.193 回答
0

刚刚尝试了@lorenz 的答案,如果您对这两个命令都使用 Symfony 控制台,那么语法会有细微的差别。

检查迁移状态:

php bin/console doctrine:migrations:status 

设置为已迁移:

 php bin/console doctrine:migrations:version 'DoctrineMigrations\<version>' --add
于 2021-12-10T13:41:47.240 回答