我正在尝试运行rails迁移,其中我只更改列名称。那么,这个rails需要保持与旧列相同的data type
或尝试根据column content
进行猜测?
def change
rename_column :marks, :percent, :percentage
end
旧类型为decimal
,迁移后仍为decimal
。
我想知道保留的类型是因为现有值为decimal
,或者是因为old data type
。
答案 0 :(得分:2)
rename_column仅用于更改列的名称而不考虑数据类型。
在给定的迁移中,您只将名称从百分比更改为百分比,因此rails不关心数据类型,只更改列的名称。数据类型没有变化,它将保持原样。是小数,浮点数,字符串等。
答案 1 :(得分:0)
是的,rename_column
仅使用3个参数重命名列的名称。 change_column
会更改类型
def change
change_column :marks, :percent, :text
end