У меня есть эта миграция, где я преобразовываю столбец из целого числа в массив строк.
class ChangeWdayFromIntegerToStringInResourceWeekDayStart < ActiveRecord::Migration[4.2]
def up
change_column :resource_week_day_starts, :wday, :string, default: []
add_column :resource_week_day_starts, :number_days, :integer, default: 7
end
def down
change_column :resource_week_day_starts, :wday, :string, default: nil
change_column :resource_week_day_starts, :wday, 'integer USING CAST(wday AS integer)'
remove_column :resource_week_day_starts, :number_days
end
end
Эта миграция работает очень хорошо, когда мы находимся в рельсах 3, но у нас есть миграция на рельсы 5, и теперь мы пытаемся настроить новый сервер. При запуске миграции в rails 5 мы получили это сообщение об ошибке:
PG::DatatypeMismatch: ERROR: column "wday" cannot be cast automatically to type character varying[]
HINT: You might need to specify "USING wday::character varying[]".
: ALTER TABLE "resource_week_day_starts" ALTER COLUMN "wday" TYPE character varying[]
/home/ruby/src/mapsbooking/db/migrate/20170307000000_change_wday_from_integer_to_string_in_resource_week_day_start.rb:3:in `up'
Я пробовал много способов исправить это. Но ничего не работает.
Может ли кто-нибудь мне помочь
Спасибо