Rails:db / schema.rb中的差异 – null:false:created_at / updated_at列

有人知道为什么每当我在生产环境中运行rake db:migrate时,schema.rb文件都会被更改?

差异仅在所有模型表的created_at,update_at列上:

 - t.datetime "created_at" - t.datetime "updated_at" + t.datetime "created_at", null: false + t.datetime "updated_at", null: false 

我知道这是它在生产数据库中找到的,但为什么它们被创建为null: false而不是在开发数据库中?

我的开发机器上有同样的东西。 运行db:drop in production不是一个明智的想法,但是什么能解决’问题’:

 rake db:drop db:create db:migrate 

自从我第一次用rails创建数据库以来,我的mysql版本发生了变化。 迁移仍然按照旧的mysql版本运行。

这就是您生产环境中可能发生的问题。

检查您在开发模式中使用的生产系统和系统中的mysql版本。 默认值存在类似问题。

请访问此链接: https : //www.ruby-forum.com/topic/134121