2016-06-23 7 views
1

私はPostgresqlを使用しています。私はRailsでhstoreからjsonbにフィールドをキャストするために次の移行を試みました。Rails - hstoreからjsonbへの移行

PG :: DatatypeMismatch:ERROR:列 "FIELD_NAME" のデフォルトjsonb型に自動的にキャストすることはできません

change_column :table_name, :field_name, 'jsonb USING CAST(field_name AS jsonb)' 

は、私は次の例外を取得します。

+0

移行に「default:」を追加してみてください –

答えて

5

私は問題を考え出しました。例外には、自動的にキャストできないデフォルト値があることが明確に記載されています。

キャストしようとした列のデフォルト値がありました。

次の移行への変更が行われました。

change_column_default :table_name, :field_name, nil 
change_column :table_name, :field_name, 'jsonb USING CAST(field_name AS jsonb)' 
関連する問題