我也发现过类似的问题,但它们都在应用程序中,我的问题与cli命令有关,即php app/console doctrine:schema:update --force或php app/console doctrine:migrations:migrate
错误:
Migration 20130112151503 failed during Execution. Error An exception occurred wh
ile executing 'CREATE UNIQUE INDEX UNIQ_68D3801E989D9B62 ON artists (slug)':
SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '' for key
'UNIQ_68D3801E989D9B62'
[Doctrine\DBAL\DBALException]
An exception occurred while executing 'CREATE UNIQUE INDEX UNIQ_68D3801E989
D9B62 ON artists (slug)':
SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '' fo
r key 'UNIQ_68D3801E989D9B62'我真的希望迁移可以解决这个错误,但是。如何解决此问题,例如,我只能在实时服务器上运行迁移命令。如果存在唯一索引,为什么迁移不先删除唯一索引?或者为什么它没有检测到已经有一个唯一的索引?
发布于 2013-01-12 22:41:25
SQL错误并不是说已经存在唯一的索引,而是说slug列有重复的值,因此无法添加索引。
确保slug列只有唯一(或null,但对于slug列可能不推荐)值,然后尝试再次运行迁移。
发布于 2016-03-09 17:29:30
这是因为数据库中的slug字段为空或重复。因此,尝试删除表中的所有内容并再次生成命令
https://stackoverflow.com/questions/14293774
复制相似问题