我想知道是否需要在Rails 5上创建用于在生产中创建ar_internal_metadata
的迁移
答案 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