我正在编写一个 data_migration,我正在使用 data-migrate gem。我遇到一种情况,我应该单独在生产环境中跳过一个特定的 data_migration 。我可以这样做
class BackfillNonStatutoryResultsWithAssessmentPeriod < ActiveRecord::Migration[7.0]
def up
unless RAILS_ENV == "production"
# Do something
end
end
end
def down
raise ActiveRecord::IrreversibleMigration
end
end
实现这一目标的最佳且有效的方法是什么?
以前从未使用过该 gem,但自述文件似乎很清楚该 gem 的全部目的是使您能够拥有单独的 rake 任务来迁移数据而不是仅迁移模式:
对于设置不需要任何中间 AR 活动的任务(例如开发和测试),您可以坚持使用
。对于生产和 QA,您将他们的脚本更改为db:migrate
。db:migrate:with_data
如果您对此有疑问,那么您的问题并不清楚。