我發現類似的問題,但他們的應用程序,礦井涉及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'
我真的希望移民會照顧這個錯誤,但是可惜。我該如何解決這個問題,例如我只能在實時服務器上運行migrations命令。爲什麼遷移不會首先刪除唯一索引(如果存在)?或者爲什麼它沒有檢測到已經有一個唯一的索引?
啊,我明白了。它是空的,我會改變它 – Tjorriemorrie
@Mike,你的意思是說,如果我已經有數據庫填充數據,並創建新的列與獨特的:真我會一直得到這個錯誤?那麼如何處理無法在生產服務器上執行的遷移? –
是的,如果您嘗試在已具有重複值的列上創建唯一索引,那麼您將遇到錯誤。在嘗試創建唯一索引之前,您必須先解析所有重複項。如果嘗試執行其他操作,您的遷移將會崩潰。 – Mike