ruby - How can I display a default message while running rails migrations? -


we moving our table data different database archival. so, when users add migrations in main db want display default message reminding them perform same migration table in archived db. how can without having add message manually in migration ?

prakash proposes elegant solution. original question overriding default tasks add message believe.

maybe try this. courtesy: http://metaskills.net/2010/05/26/the-alias_method_chain-of-rake-override-rake-task/

rake::taskmanager.class_eval   def alias_task(fq_name)     new_name = "#{fq_name}:original"     @tasks[new_name] = @tasks.delete(fq_name)   end end  def alias_task(fq_name)   rake.application.alias_task(fq_name) end  def override_task(*args, &block)   name, params, deps = rake.application.resolve_args(args.dup)   fq_name = rake.application.instance_variable_get(:@scope).dup.push(name).join(':')   alias_task(fq_name)   rake::task.define_task(*args, &block) end 

now can override rake db:migrate this.

 namespace :db     override_task :migrate => :environment       # message here       # invoke original task add ":original" name       rake::task["db:migrate:original"].execute       ...     end  end 

Comments

Popular posts from this blog

android - Why am I getting the message 'Youractivity.java is not an activity subclass or alias' -

python - How do I create a list index that loops through integers in another list -

c# - “System.Security.Cryptography.CryptographicException: Keyset does not exist” when reading private key from remote machine -