作業メモ。
TEXT型からINT型に変換したい時はchange_columnしようとしても精度が合わず失敗する場合がある。
Caused by: PG::DatatypeMismatch: ERROR: 列"typo_column"は型bigintには自動的に型変換できません HINT: 必要に応じて"USING typo_column::bigint"を追加してください。
DROPしてADDするのが手取り早い。 メソッドはdrop_columnではなく、remove_columnなので注意。
class ChangeTypoColumnToFooTable < ActiveRecord::Migration[5.2] def change remove_column :foo_table, :typo_column add_column :foo_table, :valid_column, :bigint end end
リンク