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

sql - VB.NET Operand type clash: date is incompatible with int error -

SVG stroke-linecap doesn't work for circles in Firefox? -

python - TypeError: Scalar value for argument 'color' is not numeric in openCV -