許多人在談論數據庫遷移,特別是關於其回滾的可能性。數據庫遷移回滾的有用性
我懷疑它是否有用,因爲db和model的模式與應用程序邏輯(MVC)緊密相連。
假設我已經完成了一些遷移的回滾。什麼?該應用程序將無法工作,因爲它的邏輯完全依賴於數據庫。
數據庫遷移的回滾能力的用例是什麼?
更新1
的主要問題
爲什麼回滾是作爲一個功能,當我需要改變的代碼?
我不創建遷移,像 「add_another_field_to_table」。相反,每個遷移文件都完整描述了數據庫中的每個表。當我需要在我的數據庫中更改某些內容時,我只是更改遷移文件,但不會將其回滾到。
真的,如果我回滾遷移,它不會使我回到時間,就像版本控制一樣。我有很多工作,當計劃進行更改時,回滾沒有給我提供任何幫助。
「我沒有創建遷移,比如」add_another_field_to_table「,而是每個遷移文件都完全描述了數據庫中的每個表,當我需要更改數據庫中的某些內容時,我只是更改遷移文件」你能解釋一下這更進一步,因爲這聽起來很奇怪。當您需要添加列時,您不需要進行新的遷移,而是編輯舊的遷移?這聽起來像你沒有正確地使用遷移... – James 2010-09-27 08:56:42
是的,我也認爲。我沒有注意到部分遷移的好處。他們只是模糊了目前遷移過程中的大局。我知道,那個schema.rb文件就是爲了這個。但是,部分遷移只會減慢我的工作速度,因爲當我需要查看數據庫中的某個表時,我需要跳過幾個「add_column_to_table」遷移文件。但是,他們的真正好處是什麼?我還不知道答案... – AntonAL 2010-09-27 09:05:12