gpt4 book ai didi

mysql - Rails 回滚、更改类型并再次迁移

转载 作者:行者123 更新时间:2023-11-29 01:27:17 24 4
gpt4 key购买 nike

我有一个请求表;

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

问题是,如果我销毁 Request 表并使用它在 STEP = 2 之后创建的日期时间类型创建新的 Request 表,并且当我 rake db:migrate 时,rails 不会将 Status 列添加到 Request 表。我该如何克服这个问题?

最佳答案

您可以使用 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

关于mysql - Rails 回滚、更改类型并再次迁移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36704874/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com