我有一个要求表;
class CreateRequests < ActiveRecord::Migration
def change
create_table :requests do |t|
t.string :from
t.string :to
t.timestamps null: false
end
end
end
我想通过rake db:rollback STEP = 5
销毁请求模型来回滚数据库,并使用创建请求表;
t.datetime :from
t.datetime :to
但是,我在STEP = 2上有一个迁移到请求模型的表
class AddStatusToRequest < ActiveRecord::Migration
def change
add_column :requests, :status, :string, :default => "Pending"
end
end
问题是,如果我销毁了请求表并使用日期时间类型创建了新的请求表,则它会在STEP = 2之后创建,并且当我rake db:migrate
跟踪时不会将“状态”列添加到请求表中。我该如何克服呢?
您可以使用以下命令创建新的迁移以更改列类型change_column
:
命令行: rails g migration change_request_to_from_column_types'
新迁移:
class ChangeRequestToFromColumnTypes < ActiveRecord::Migration
def change
change_column :requests, :from, :datetime
change_column :requests, :to, :datetime
end
end
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句