Rails 3.1迁移会删除迁移文件名中的时间戳

时间:2011-10-17 19:57:04

标签: ruby-on-rails ruby-on-rails-3.1 rails-migrations

我正在尝试将应用程序从Rails 3.0.7升级到3.1.1。当我尝试在3.1.1下运行迁移时,会生成迁移文件但没有前导时间戳。例如:

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

生成的文件的内容看起来正确(使用新的酷更改方法),但迁移文件似乎应该更像db / migrate / 20111012002448_add_foo_to_users.rb。

我怀疑我错过了一些简单的东西,但整个周末都试图弄清楚它是什么。搜索显示我发现没有任何帮助。在此之前迁移一直在进行,所以我采取的升级步骤中的某些内容似乎已经打破了它。任何关于在哪里看的建议将不胜感激。感谢。

2 个答案:

答案 0 :(得分:1)

以防万一有人在遇到同样的问题后到此为止。将整个应用程序复制到另一个目录,并与新Rails应用程序的全新安装进行比较后,我将其缩小到了all_migrate gem的配置块。当我注释掉此配置的行时,正确生成了迁移文件。取消注释相同的行会重新创建错误。

答案 1 :(得分:1)

我已将此问题追溯并将其修复为fort_migrate的GateGuru分支。拉出请求正在等待合并回到also_migrate。

对于在此期间被此咬过的人,拉取请求位于:https://github.com/winton/also_migrate/pull/10

您也可以通过Bundler从我的fork安装来解决问题:

gem 'also_migrate', '0.3.5', :git => 'git@github.com:GateGuru/also_migrate.git', :branch => '8-fix-rails-3_1-timestamps'