当我通过输入以下命令执行迁移脚本时,我遇到了一个奇怪的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而没有任何结果。
感谢您的帮助。
弗洛。
答案 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
表中的行