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