如何逆转需要宝石的迁移

时间:2013-06-14 01:52:15

标签: ruby-on-rails ruby gem rails-migrations

我最近在我的应用中测试了Queue_Classic gem。部分设置正在运行此迁移:

require 'queue_classic'

class AddQueueClassic < ActiveRecord::Migration
  def self.up
    QC::Setup.create
  end

  def self.down
    QC::Setup.drop
  end
end

现在我想切换到另一个排队系统,但我担心我无法从Gemfile中删除queue_classic。即使我生成了一个只运行的迁移:

drop_table :queue_classic_jobs

rake db:migraterequire 'queue_classic'看到第一个QC::Setup.create并且找不到queue_classic gem时,{{1}}是否会抱怨?

2 个答案:

答案 0 :(得分:1)

是的,这是真的。这就是为什么,在某些时候,你只是摆脱旧的迁移并使用schema.rb http://adventuresincoding.com/2010/02/how-to-clean-up-your-activerecord-migrations

答案 1 :(得分:1)

创建迁移以执行QC::Setup.drop并运行它。

然后完全删除原始的AddQueueClassic迁移。