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' -

Making Empty C++ Project: General exception (Exception from HRESULT:0x80131500) Visual Studio Community 2015 -

How to fix java warning for "The value of the local variable is not used " -