how to detect whether my rails is running in migration or not in environment.rb
-
13-09-2019 - |
Question
any easy way to detect it? I want to skip some codes in envirmonment.rb when doing migration rake.
Solution
I had this problem in a legacy application I was maintaining. There were some observers that were interfering with migrations past a certain point, so I disabled them during migration by checking the application name and arguments
# 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
OTHER TIPS
i think if u want to skip, just comment (#) on code.
or many choose on migration rake.
for example : rake db:migrate:up VERSION=2000123232 its mean , only 2000123232_create_article do migration.
or rake db:migrate VERSION=2000123232 mean start from after 2000123232
or rake db:migrate:down VERSION=2000123232
just rake help u can see what u need to rake.
Do you mean that?
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow