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

最佳答案

我在维护的旧版应用程序中遇到了这个问题。有一些观察者会干扰迁移超过某一点,因此我在迁移期间通过检查应用程序名称和参数禁用了它们

  # 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

09-30 20:09