Question

Does anybody know why whenever I run rake db:migrate in my production environment, the schema.rb file is changed?

The differences are only on the created_at, update_at columns of all model tables:

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

I know that this is what it finds in the production db, but why were they created as null: false there and not in the development db too?

Était-ce utile?

La solution

I had the same thing on my dev machine. Running db:drop in production is not a wise idea, but what will fix the 'problem':

rake db:drop db:create db:migrate

My mysql version had changed since I first created the database with rails. The migrations still ran according to the old mysql version.

This is what probabaly happens at your production environment.

Autres conseils

Check your mysql version in production system and system where you used in development mode. There was a similar issue with default values.

Check this link : https://www.ruby-forum.com/topic/134121

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top