Ruby 运行rails迁移时如何显示默认消息?

Ruby 运行rails迁移时如何显示默认消息?,ruby,ruby-on-rails-3,activerecord,rails-migrations,Ruby,Ruby On Rails 3,Activerecord,Rails Migrations,我们正在将表数据移动到另一个数据库中进行存档。因此,当用户在主数据库中添加迁移时,我希望显示一条默认消息,提醒他们对存档数据库中的表执行相同的迁移。我如何做到这一点而不必在迁移中手动添加消息?Prakash提出了一个优雅的解决方案。但您最初的问题是关于覆盖默认任务以添加一条我相信是的消息 也许试试这样的。礼节: 现在您可以覆盖rakedb:migrate,如下所示 namespace :db do override_task :migrate => :environment do

我们正在将表数据移动到另一个数据库中进行存档。因此,当用户在主数据库中添加迁移时,我希望显示一条默认消息,提醒他们对存档数据库中的表执行相同的迁移。我如何做到这一点而不必在迁移中手动添加消息?

Prakash提出了一个优雅的解决方案。但您最初的问题是关于覆盖默认任务以添加一条我相信是的消息

也许试试这样的。礼节:

现在您可以覆盖rakedb:migrate,如下所示

 namespace :db do
    override_task :migrate => :environment do
      # Your message here
      # To invoke the original task add ":original" to its name
      Rake::Task["db:migrate:original"].execute
      ...
    end
 end

普拉卡什提出了一个优雅的解决方案。但您最初的问题是关于覆盖默认任务以添加一条我相信是的消息

也许试试这样的。礼节:

现在您可以覆盖rakedb:migrate,如下所示

 namespace :db do
    override_task :migrate => :environment do
      # Your message here
      # To invoke the original task add ":original" to its name
      Rake::Task["db:migrate:original"].execute
      ...
    end
 end

为什么不通过定制
rakedb:migrate
definition在两个数据库上同时进行迁移呢?有关如何操作的提示,请参阅。我们正在按阶段移动表。因此,并非所有的表都存在于两个数据库中。为什么不通过定制
rakedb:migrate
definition在两个数据库上同时进行迁移呢?有关如何操作的提示,请参阅。我们正在按阶段移动表。因此,并非所有表都存在于这两个DBs中。实际上,我正在考虑重写ActiveRecord::Migration类,但不确定这是否正确。实际上,我正在考虑重写ActiveRecord::Migration类,但不确定这是否正确。