2013-08-06 128 views
0

當我運行bundle exec rake db:migrate for basic RoR website時,我得到這個錯誤。我是初學者,在這個網站和Treehouse上發現了類似的錯誤,但沒有發現這個錯誤的具體後半部分(從NOT NULLC開始)。我仍然不確定如何解決這個問題 - 任何人都可以提出建議嗎?我在Windows上運行這個。Bundle Exec Rake DB Migrate

SQLite3::SQLException: duplicate column name: email: ALTER TABLE "users" ADD "em 
ail" varchar(255) DEFAULT '' NOT NULLC:/Sites/code/omrails-master/db/migrate/201 
30804201341_add_devise_to_users.rb:5:in `block in up' 
+0

此遷移文件的內容是什麼?另外你目前的數據庫模式是什麼? – Agis

+0

抱歉格式不佳 - 我可以嘗試清理它...數據庫模式是什麼? – user2603139

+0

您粘貼的文字不可讀。請使用像pastie或gist.github.com這樣的服務。 – Agis

回答

1

我想這是因爲你已經在你的users表有email列(以前的移民加入其,可以創建表格)和Devise您正在運行的遷移(201 30804201341_add_devise_to_users.rb)正試圖重新添加它。是這樣嗎?

如果是這樣,請打開遷移文件,該文件首先創建users表並刪除創建email列的行(它看起來像t.string :email)。關閉您的Rails服務器,然後執行以下操作。

$ bundle exec rake db:drop 
$ bundle exec rake db:create 
$ bundle exec rake db:migrate 
0

我第一次出發時遇到了這個問題。我總是通過重置數據庫來解決它。您已經創建了一個專欄,因此重設它可能會起作用。

運行

bundle exec rake db:reset 

bundle exec rake db:create 

最後

bundle exec rake db:migrate 
+0

你是否熟悉你的遷移中的drop_table? –

+0

以下是運行bundle exec rake db的輸出:reset http://pastie.org/private/otkhgn4evfaflq8fo3rfya – user2603139

+0

我對它並不熟悉。 – user2603139

相關問題