我剛剛開始學習rails,並且在通過Michael Hartl的「通過示例學習Rails」之後,我決定嘗試使用一些類似功能創建自己的簡單應用程序。在做了幾次不同的遷移併成功運行之後,我嘗試在表中添加一個四列索引。當我跑了「捆綁高管耙分貝:遷移」我得到了錯誤:舊遷移錯誤阻止我創建新的數據庫更改
Index name 'temp_index_altered_events_on_user_id_and_message_id_and_date_and_address_id'
on table 'altered_events' is too long; the limit is 64 characters
我擡頭一看這個錯誤的原因,並改變了我的移民使用:
add_index :events, ["user_id", "message_id", "date", "address_id"], :unique => true, :name => 'my_index'
然後我重新「包exec rake db:migrate「並得到相同的錯誤。我認爲這很奇怪,所以我試圖從遷移中徹底刪除索引行,只留下遷移來創建新表。我再次嘗試,仍然得到相同的錯誤。然後我刪除了遷移文件,嘗試生成一個全新的遷移,但我仍然有相同的錯誤。
我真的很討厭這個幻影遷移,以防止我繼續這個項目。有誰知道我怎麼能讓它忘記我過去的錯誤,以便我可以做出一些新的錯誤?
你的db/migrate目錄中還有其他文件嗎? –