如何使用现有数据更改列类型

时间:2014-03-05 02:50:16

标签: ruby-on-rails-3

我的客户模型中有很多成员,

列角色是字符串类型,其值为“1”,“2”,“3”

现在,我想通过以下代码将role列类型转换为integer类型,

但是,当我使用控制台检查现有客户角色值时,

它仍然是字符串类型,如何将其转换为整数?感谢。

  1 class ChangeRoleTypeToCustomers < ActiveRecord::Migration
  2   def up
  3       change_column :customers, :role, 'integer USING CAST(role AS integer)'
  4   end
  5
  6   def down
  7   end
  8 end


irb(main):017:0> c=Customer.where(name:'guest').first
irb(main):018:0> c.role
=> "3"

1 个答案:

答案 0 :(得分:0)

change_column :customers, :role, :integer