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 に答える