我有一个名为 " p_type
" 的列,它是字符串,因为我认为有 types A
,B
并且C
as strings
现在我意识到最好是拥有它,bitmask
这样我才能拥有A
并C
在一起。
如果我做
change_column :cars, :p_type, :integer
我要么会丢失所有现有的 p_type 数据,要么会出现严重错误,迁移会以某种方式扭曲数据(我不敢尝试)
有没有办法将列类型更改为 :integer
并在迁移文件中具有某种功能
if A
p_type = 1
elsif B
p_type = 2
elsif C
p_type = 4
end
那么迁移会改变数据类型和数据本身吗?