I'm wondering if I need to create a migration for creating ar_internal_metadata
in production on Rails 5
Asked
Active
Viewed 1.1k times
21

maschwenk
- 569
- 1
- 9
- 20
1 Answers
35
It's basically a safety switch, at the expense of complicating and changing how Rails apps are deployed:
Rails 5 has added a new table
ar_internal_metadata
to store environment version which is used at the time of migrating the database.When the first time
rake db:migrate
is executed then new table stores the valueproduction
. Now whenever we load database schema or database structure by running rakedb:schema:load
orrake db:structure:load
Rails will check if Rails environment isproduction
or not. If not then Rails will raise an exception and thus preventing the data wipeout.
Source: http://blog.bigbinary.com/2016/06/07/rails-5-prevents-destructive-action-on-production-db.html

taylorthurlow
- 2,953
- 3
- 28
- 42
-
14seen that page, missed that sentence...though I don't understand why this information is on a blog post and not in the Rails 5 release documentation. – maschwenk Nov 02 '16 at 17:24