Ruby on rails Rails 3.1迁移会在迁移文件名中删除时间戳

Ruby on rails Rails 3.1迁移会在迁移文件名中删除时间戳,ruby-on-rails,ruby-on-rails-3.1,rails-migrations,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 生成的文件的内容看起来是正确的(使用新的cool change方法),但是迁移文件的名称应该更像db/mi

我正在尝试将一个应用程序从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
生成的文件的内容看起来是正确的(使用新的cool change方法),但是迁移文件的名称应该更像db/migrate/20111012002448\u add\u foo\u to\u users.rb


我怀疑我错过了一些简单的东西,但整个周末都在试图弄清楚它是什么。搜索结果显示我没有找到任何有用的东西。在此之前,迁移一直都在工作,所以我升级步骤中的某些东西似乎破坏了它。如有任何关于在何处查找的建议,将不胜感激。谢谢。

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

我已经追踪到这个问题,并在Alou migrate的GateGuru fork中修复了它。正在挂起一个拉取请求,以便合并回\u migrate

对于在此期间被咬伤的任何人,拉动请求位于:

您还可以通过Bundler从my fork安装来修复此问题:

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

您应该添加更新作为答案并接受它。我将其更改为可接受的答案,因为它包含实际的修复。我需要在Github上进行设置才能测试这个。谢谢