我正在寻找在rails中编写迁移的方法,这些迁移可以对数据库多次执行而不会失败。
例如,假设我有这样的迁移:
class AddUrlToProfile < ActiveRecord::Migration
def self.up
add_column :profile, :url, :string
end
def self.down
remove_column :profile, :url
end
end
如果Profile
表中已经存在url
列(例如,如果schema.rb被意外修改),则我的迁移将失败,说明它是重复的!
那么,只有在迫不得已的情况下,如何执行这种迁移呢?
谢谢