2014-10-06 56 views
0

當設置色器件,我遇到了以下錯誤:設置設計AddDeviseToUsers遷移錯誤

== 20141006184828 AddDeviseToUsers: migrating ================================= 
-- change_table(:users) 
rake aborted! 
StandardError: An error has occurred, this and all later migrations canceled: 

SQLite3::SQLException: duplicate column name: name: ALTER TABLE "users" 
ADD "name" varchar(255)/home/vagrant/.rvm/gems/ruby-2.0.0-p576/gems/sqlite3- 
1.3.9/lib/sqlite3/database.rb:91:in `initialize' 

我找到了幾個不同的反應,但似乎沒有解決我的問題。我試着在註釋掉名稱:

change_table(:users) do |t| 

    t.string :name 

但只有移動的路線問題(即抱怨增加重複的電子郵件柱等)...不知道哪裏出了問題的根源存在。

回答

0

您可能無意中添加了兩個遷移,這兩個遷移都將名稱/電子郵件添加到您的數據庫。通過所有遷移,並確保您只添加了:name:email一次。

如果你仍然得到一個錯誤,然後嘗試:

rake db:reset 

這將降低你的數據庫,重新創建數據庫,然後運行所有遷移。如果這個命令返回相同的錯誤,那麼你知道你的遷移一定有什麼問題,那裏肯定還有一個重複的地方。