【发布时间】:2019-08-06 15:37:33
【问题描述】:
问题是关于 Rails 数据库迁移。
当前数据库包含两个条目,用于一个假定为布尔变量的数据库方案,如下所示:
create_table "table_name", force: :cascade do |t|
...
t.string "yes_boolvar"
t.string "no_boolvar"
...
end
我需要将其转换为一个布尔变量,如下所示:
t.boolean "boolvar"
我考虑过重命名“yes_boolvar”,将其类型从字符串更改为布尔值,然后根据一些读数删除“no_boolvar”列,如下所示:
t.rename :yes_boolvar,
:boolvar
t.change :boolvar,
:boolean
t.remove :no_boolvar
但是,在复制变量的值时,这只会考虑 'yes_*' 而不是 'no_*' 的真值。有没有办法成功迁移 var,以便将两个 var 的真值(或 nil)值都考虑在内。
【问题讨论】:
标签: ruby-on-rails database-migration ruby-on-rails-5.1