我使用Postgresql。我尝试了以下迁移,以便在Rails中将字段从hstore转换为jsonb。
change_column :table_name, :field_name, 'jsonb USING CAST(field_name AS jsonb)'
我得到以下异常:
PG :: DatatypeMismatch:错误:列的默认值" field_name"不能自动转换为输入jsonb。
答案 0 :(得分:8)
我刚刚发现了这个问题。该例外明确指出存在无法自动转换的默认值。
我试图投射的列有一个默认值。
更改为以下迁移工作。
change_column_default :table_name, :field_name, nil
change_column :table_name, :field_name, 'jsonb USING CAST(field_name AS jsonb)'