PG::InvalidTextRepresentation: ERROR: invalid input syntax for integer: “M”

前端 未结 1 740
执念已碎
执念已碎 2020-12-06 20:10

So I have a gender column on my user model and it\'s currently a string, I\'d like to change it to a integer and make Male \'1\', and Female \'0\' as it\'s presently Male \"

相关标签:
1条回答
  • 2020-12-06 20:58

    You need to first convert the values M to 1 and F to 0 and then change the column type.

    class ChangeGenderToIntegerOnUser < ActiveRecord::Migration
      def change
        User.where(gender: 'M').update_all(gender: 1)
        User.where(gender: 'F').update_all(gender: 0)
        change_column :users, :gender, 'integer USING CAST(gender AS integer)'
      end
    end
    
    0 讨论(0)
提交回复
热议问题