2013-05-07 104 views
0

因此,在閱讀了很多內容之後,我發現我不需要提前計劃我的數據庫。我剛開始研究應用程序,並對每一項變更進行遷移。Rails項目中的數據庫結構並跟蹤遷移

因此,例如,如果我決定添加一些東西,我通過遷移添加它。然後在另一次遷移中,我因某種原因刪除它。最後,我決定把它弄回來。經過一段時間後,會出現一系列的遷移。

我該如何跟蹤他們?首先想到數據庫結構會更容易嗎?

回答

0

Rails的方式是通過遷移來完成所有的事情。根據你的情況,它會像

migration1 #add column A 
migration2 #remove column A 
migration3 #add column A again 

它似乎有很多的遷移,但在實際情況下,它會保持你的數據庫變化乾淨。 Coz在任何時候當你做

rake db:migrate 

軌道將只運行未決的遷移。

在任何給定時間,您將看到db/schema.rb文件,其中包含所有遷移和最新遷移編號作爲版本。

但話雖如此,如果你想恢復遷移有命令如rollback命令read more about migrations

0

您可以在db/schema.rb內看到您的數據庫結構,它會向您顯示當前在您應用程序中的所有表格,列和索引。

如果您不斷更換某一列,這不會有幫助,但您也可以運行rake db:migrate:status,該列表將輸出所有遷移的列表,並告訴您它們是否已運行。