Как указано в тексте ошибки, вы должны указать приведение, чтобы изменить этот тип данных при миграции.
Вы можете использовать его, как показано ниже:
class ChangeEmailsAndPhonesToArrayOfString < ActiveRecord::Migration
def up
change_table :hotels do |t|
t.change :emails, 'text ARRAY USING emails::character varying[]', default: []
t.change :phones, 'text ARRAY USING phones::character varying[]', default: []
end
end
def down
change_table :hotels do |t|
t.change :emails, :text
t.change :phones, :text
end
end
end
В примере выше мы указываем явное приведение к типу text[]
для данных полей.
Однако вам может потребоваться явно преобразовать ваши данные, если они есть, в вашей таблице.