Rails - 从hstore迁移到jsonb

时间:2016-06-23 13:04:02

标签: ruby-on-rails postgresql

我使用Postgresql。我尝试了以下迁移,以便在Rails中将字段从hstore转换为jsonb。

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

我得到以下异常:

PG :: DatatypeMismatch:错误:列的默认值" field_name"不能自动转换为输入jsonb。

1 个答案:

答案 0 :(得分:8)

我刚刚发现了这个问题。该例外明确指出存在无法自动转换的默认值。

我试图投射的列有一个默认值。

更改为以下迁移工作。

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