2011-10-17 63 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的配置块。当我为此配置注释掉这些行时,迁移文件已正确生成。取消注释相同的行重新创建错误。