如何在environment.rb中检测我的rails是否在迁移中运行

use*_*403 15 rake ruby-on-rails migrate

任何简单的方法来检测它?我想在进行迁移rake时跳过envirmonment.rb中的一些代码.

Jef*_*tte 26

我在维护的遗留应用程序中遇到此问题.有些观察者在某一点上干扰了迁移,所以我在迁移期间通过检查应用程序名称和参数来禁用它们

  # Activate observers that should always be running
  # config.active_record.observers = :cacher, :garbage_collector, :forum_observer# observers break a migrate from VERSION xxx - disable them for rake db:migrate
unless ( File.basename($0) == "rake" && ARGV.include?("db:migrate") )
  config.active_record.observers = :user_observer
end
Run Code Online (Sandbox Code Playgroud)