2011-10-17 139 views
3

我正在嘗試將應用程序從Rails 3.0.7升級到3.1.1。當我嘗試在3.1.1下運行遷移時,會生成遷移文件,但不包含前導時間戳。例如:Rails 3.1遷移刪除遷移文件名中的時間戳

$ rails g migration add_foo_to_users foo:boolean 
     invoke active_record 
     create db/migrate/_add_foo_to_users.rb 

生成的文件的內容看起來是正確的(新酷變化的方法),但遷移文件,好像它應該被命名更像DB /遷移/ 20111012002448_add_foo_to_users.rb。

我懷疑我缺少一些簡單的東西,但花了整個週末試圖弄清楚它是什麼。搜索顯示沒有幫助,我發現。在此之前,遷移一直在進行,所以我採取的升級步驟似乎已經破壞了它。任何建議在哪裏看,將不勝感激。謝謝。

+0

你應該添加您的更新內容一個答案並接受它。 http://blog.stackoverflow.com/2011/07/its-ok-to-ask-and-answer-your-own-questions/ –

回答

1

我已經追查到這個問題並將其修正到了also_migrate的GateGuru分支。拉取請求正在等待合併回到also_migrate。

任何人利用這臨時咬傷,拉入請求是:https://github.com/winton/also_migrate/pull/10

您還可以從通過捆紮機我的叉子安裝來解決該問題:

gem 'also_migrate', '0.3.5', :git => '[email protected]:GateGuru/also_migrate.git', :branch => '8-fix-rails-3_1-timestamps' 
+0

我將此更改爲接受的答案,因爲它包含一個實際的修復程序。我需要在Github上進行設置才能測試。謝謝! –

1

以防萬一任何人在碰到同樣的問題後在這裏結束。在將整個應用程序複製到另一個目錄並將其與新的Rails應用程序的全新安裝進行比較後,我將其縮小到了also_migrate gem的配置塊。當我爲此配置註釋掉這些行時,遷移文件已正確生成。取消註釋相同的行重新創建錯誤。