我有一个名为“p_type
”列是字符串,因为我认为有类型A
,B
和C
为字符串在迁移替换列的值
现在我意识到,最好是有作为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
因此迁移将CH愤怒的数据类型和数据本身?
你将不得不从铁轨控制台做到这一点(轨道ç-e生产)或迁移解决它。我不确定为数据迁移创建新的rake任务是一个不错的选择。 – holaSenor 2013-04-23 11:00:48