是否在生产中创建了ar_internal_metadata表?

时间:2016-10-28 23:33:27

标签: ruby-on-rails ruby-on-rails-5 rails-migrations

我想知道是否需要在Rails 5上创建用于在生产中创建ar_internal_metadata的迁移

1 个答案:

答案 0 :(得分:18)

它基本上是一个安全开关,代价是复杂化和改变Rail应用程序的部署方式:

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 value production. Now
whenever we load database schema or database
structure by running rake db:schema:load or
rake db:structure:load Rails will check if Rails
environment is “production” or not. If not then
Rails will raise an exception and thus
preventing the data wipeout.

http://blog.bigbinary.com/2016/06/07/rails-5-prevents-destructive-action-on-production-db.html