Skip to content

用rake db:drop清空之前的数据

yungyuan edited this page Jul 29, 2016 · 2 revisions

有时候你做某个版本做烂了之后,git checkout回到旧版,但是rake db:migrate却无法运行,会提示你table "xxx" already exists。

这是因为git只对程序码的版本做管控,而不会对数据库做管控,所以checkout之后你的程序码恢复了,但数据库还是最“新”的那个烂掉的数据库。

这时候你需要执行rake db:drop把整个数据库都清空,然后就可以重新rake db:migrete了。




進階請參考此篇: 撰寫 seed.rb 檔(自動產生資料庫數據)及rake db:reset

https://github.com/xingrowth/fullstack-course/wiki/%E6%92%B0%E5%AF%AB-seed.rb-%E6%AA%94(%E8%87%AA%E5%8B%95%E7%94%A2%E7%94%9F%E8%B3%87%E6%96%99%E5%BA%AB%E6%95%B8%E6%93%9A)%E5%8F%8Arake-db:reset