2016-06-23 2 views
1

Я использую Postgresql. Я попробовал следующую миграцию, чтобы вывести поле из hstore в jsonb в Rails.Rails - переход из hstore в jsonb

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

я получаю следующее исключение:

PG :: DatatypeMismatch: ОШИБКА: по умолчанию для столбца "field_name" не может быть брошено автоматически набирать 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)' 
Смежные вопросы