10

有谁知道为什么每当我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那里创建的,而不是在开发数据库中创建的呢?

4

2 回答 2

3

我的开发机器上有同样的东西。在生产中运行 db:drop 不是一个明智的主意,但是什么可以解决“问题”:

rake db:drop db:create db:migrate

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

这可能在您的生产环境中发生。

于 2013-10-11T08:30:35.760 回答
0

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

检查此链接:https ://www.ruby-forum.com/topic/134121

于 2013-09-10T08:08:22.270 回答