为什么rails生成的迁移时间戳比当前时间提前三个小时?

时间:2014-05-12 19:00:17

标签: ruby-on-rails

在我的国家,时间是15:52:39。当我生成一个模型时,迁移的时间戳相当于18:52:39。这比当前时间提前了三个小时。

rails generate model Article title:string text:text

      invoke    active_record
      create    db/migrate/20140512185239_create_articles.rb
      create    app/models/article.rb
      invoke    test_unit
      create    test/models/article_test.rb
      create    test/fixtures/articles.yml

为什么迁移时间戳与当前时间不匹配?

1 个答案:

答案 0 :(得分:2)

Rails使用UTC时区进行迁移,而不是本地迁移。请参阅相关的code

def next_migration_number(number)
  if ActiveRecord::Base.timestamped_migrations
    [Time.now.utc.strftime("%Y%m%d%H%M%S"), "%.14d" % number].max
  else
    "%.3d" % number
  end
end