我有耙遷移並生成所有表。Rails耙指定的遷移文件
現在,我要換一個表,但我不想再耙變化migrate.I只是想刪除表並執行命令:
rake db:migrate
但是什麼都沒有發生。
所以我想知道,在我刪除表格後,當我耙動生成新表格時該怎麼辦?
我有耙遷移並生成所有表。Rails耙指定的遷移文件
現在,我要換一個表,但我不想再耙變化migrate.I只是想刪除表並執行命令:
rake db:migrate
但是什麼都沒有發生。
所以我想知道,在我刪除表格後,當我耙動生成新表格時該怎麼辦?
假設你要更改遷移與時間戳:201311211234,你只是想改變這個特定的遷移,而不會影響其他表然後做
rake db:migrate:down VERSION=201311211234
然後使上遷移文件的變化
然後就去做
rake db:migrate:up VERSION=201311211234
第二個選擇是從schema_migrations
表刪除201311211234版本的數據行,然後運行rake db:migrate
如果你正在運行的變化,你應該使用:
rake db:rollback
... make changes ...
rake db:migrate
要立即糾正它,你將需要刪除的最後一個條目在schema_migrations
表(因爲你沒有運行回滾我猜) 。
rake db:migrate
更新模式文件。當您編寫遷移文件時,請務必在self.down
中推送代碼。所以當你運行rake db:rollback
時,執行下面的命令。您可以手動更改模式文件以解決此問題。
您也可以從控制檯運行特定的遷移,但在任何情況下都應避免使用時間戳從終端運行。