rails migration给我错误的版本号

时间:2014-07-17 12:46:57

标签: ruby-on-rails ruby ruby-on-rails-3.2 migration version

当我通过输入以下命令执行迁移脚本时,我遇到了一个奇怪的rails迁移问题:

  rails generate migration my_migration

迁移次数将是上次迁移次数的增量,这很烦人,因为当我启动项目时,版本号是正确的,如您所见:

20140219150827_populate_vehicles_and_goods.rb
20140219154707_create_transport_order_steps.rb
20140951194425_create_countries.rb
20140951194426_import_countries_and_cities.rb

我在网上看到这个编号是继续使用rails的旧方法,但我没有找到任何解决方法。

我使用的是Rails 3.2.8和Ruby 1.9.3,我尝试将config.active_record.timestamped_migrations设置为true而没有任何结果。

感谢您的帮助。

弗洛。

2 个答案:

答案 0 :(得分:0)

在application.rb

中将config.active_record.timestamped_migrations设置为true
config.active_record.timestamped_migrations = true

它应默认为true,因此您可能需要检查并查看它是否在application.rb或development.rb中设置为false

答案 1 :(得分:0)

我遇到了同样的问题-这是由于一次迁移导致版本时间戳错误。 ActiveRecord似乎意识到这不是一个有效的时间戳,而是从最后一个版本号开始递增,而不是生成新的UTC时间戳。

对我来说,解决此问题的方法是将迁移时使用错误的版本号重命名为代表合理的UTC时间戳的内容,然后ActiveRecord似乎很高兴!

这样做时,请记住既需要重命名文件又需要更新schema_migrations表中的行