У меня есть приложение RoR 5.1, которое я пытаюсь развернуть в Heroku.
В моем файле gem я указываю гем 'pg' для производства.Я также включил драгоценный камень «рельсы денег».В моей базе данных / файлах миграции у меня есть несколько строк для создания поля типа «монетизация», которое, как я понимаю, должно обрабатываться путем включения гема «деньги-рельсы».
При развертывании приложения не возникает никаких проблем, но затем, когда я перехожу к переносу базы данных для создания таблиц, я получаю следующую ошибку:
StandardError: An error has occurred, this and all later migrations canceled:
PG::UndefinedObject: ERROR: type "monetize" does not exist
: ALTER TABLE "plans" ALTER COLUMN "price" TYPE monetize
(followed by additional error lines)
Есть идеи, как решить эту проблему?Мне нужно добавить драгоценный камень?Есть ли что-то, что нужно обновить / установить на Heroku?Я не уверен, есть ли способ игнорировать выполнение этих конкретных миграций, поскольку они не нужны для кодовой базы.
Я мог бы написать миграцию, чтобы удалить таблицу, но это произойдет только после того, как она попытается ее создать, поэтому не уверен, как обходится это.
Согласно комментариям, вотМиграция, которая создала одну из рассматриваемых таблиц: Планы
class CreatePlans < ActiveRecord::Migration[5.1]
def change
create_table :plans do |t|
t.string :payment_gateway_plan_identifier
t.string :name
t.float :price
t.integer :interval
t.integer :interval_count
t.integer :status
t.text :description
t.timestamps
end
end
end
И затем вот изменение, которое я сделал для реализации «монетизации»:
class ChangePriceToMonetizeInPlans < ActiveRecord::Migration[5.1]
def change
change_column :plans, :price, :monetize
end
end
Также в соответствии с комментариями, монетизациявидимо, не поддерживаемый тип PGНо так как я уже создал миграцию (я использую SQL lite 3 для своей разработки), я не уверен, как вернуться и удалить ее, так как я предполагаю, что миграции идут по порядку.Извините, но эта миграция (и рельсы в целом) все еще нова для меня