Kev*_*own 2 enums ruby-on-rails
如果我有一个生产数据库,其中"类型"存储为字符串,但我想将该列转换为整数enum.
我用google搜索/ SO'd,我看到我可以CAST,但不确定那究竟是什么.
如果它不难,我会喜欢使用rails enum,但除此之外,也许我应该坚持我的字符串架构......
请指教!
您可以重命名现有列,创建一个名为"types"(整数)的新列,然后编写一个脚本,在新列中存储适当的整数值,然后删除旧列.
迁移将如下所示:
class FixTypes < ActiveRecord::Migration
def change
rename_column :table_name, :types, :old_types
add_column :table_name, :types, :integer
end
end
Run Code Online (Sandbox Code Playgroud)
然后编写一个脚本,根据"old_types"设置"类型"的值:
Model.all.each do |entry|
entry.types = %w(status1 status2 status3 status4).index(entry.old_types)
entry.save!
end
Run Code Online (Sandbox Code Playgroud)
然后删除"old_types"列.
| 归档时间: |
|
| 查看次数: |
1058 次 |
| 最近记录: |