簡體   English   中英

bin / rake db中的錯誤:migrate

[英]Error in bin/rake db:migrate

當我運行此命令bin / rake db:migrate

我得到這個錯誤

== 20151020021106 CreateTodoItems:遷移===============================-create_table(:todo_items)耙中止了! StandardError:發生錯誤,此錯誤和所有后續遷移被取消:

SQLite3 :: SQLException:表“ todo_items”已經存在:CREATE TABLE“ todo_items”(“ id”整數主鍵自動添加不為空,“ todo_list_id”整數,“內容” varchar,“ created_at”日期時間NOT NULL,“ updated_at”日期時間NOT NULL)/home/youta/rails_projects/odot/db/migrate/20151020021106_create_todo_items.rb:3:in change'-e:1:in'ActiveRecord :: StatementInvalid:SQLite3 :: SQLException:表“ todo_items”已存在:創建表“ todo_items”(“ id”整數主鍵自動添加不為空,“ todo_list_id”整數,“內容” varchar,“ created_at”日期時間NOT NULL,“ updated_at”日期時間NOT NULL)/ home / youta / rails_projects / odot / db / migrate /20151020021106_create_todo_items.rb:3:更改中-e:1:in'SQLite3 :: SQLException:表“ todo_items”已存在/home/youta/rails_projects/odot/db/migrate/20151020021106_create_todo_items.rb:3:更改中-e:1:in'任務:TOP => db:migrate(通過使用--trace運行任務來查看完整跟蹤)

為了解決這個問題,我嘗試使用以下命令刪除模型todo_item

耙db:rollback

軌道破壞模型todo_item

耙db:drop

耙db:setup

耙db:drop RAILS_ENV = test

耙db:setup RAILS_ENV = test

雖然當我在刪除前一個模型后嘗試重新制作todo_item模型時,我仍然遇到相同的錯誤!

我應該重置git ..如果是這樣,如何將其重置為以前的工作版本

運行rake db:setup與運行所有遷移並不相同,但是使用您的schema.rb重建數據庫,該數據庫仍然包括todo_items表。

使用rake db:drop再次刪除數據庫,然后運行rake db:migrate以僅使用migrate目錄中的migrate

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM