#mysql #ruby-on-rails #postgresql
Вопрос:
Я пытаюсь установить существующий проект Ruby on Rails локально на своем сервере разработки, где я запускаю все на mysql… однако проект был построен с учетом Postgresql. Я пытаюсь изменить все параметры и запустить «gem install» и yarn, а затем настроить базу данных с помощью «rails db:подготовка», но я застрял, так как есть драгоценный камень «ActiveRecord-postgres_enum», который, очевидно, я прокомментировал… но затем создание БД завершается неудачно:
undefined method `create_enum' for ....
Как мне решить эту проблему? Нужно ли мне изменять фактический код ruby или есть драгоценный камень, который эквивалентен перечислениям в пространстве mysql, как это указано выше для Postgresql?
Комментарии:
1. Не могу говорить с перечислениями, но вы, вероятно, столкнетесь с множеством других проблем, вероятно, будет быстрее и проще установить PostgreSQL и разрабатывать на нем. Переносимость базы данных затруднена, и Rails/ActiveRecord не предлагает большой помощи.
2. Спасибо… Я думал, что одна из причин наличия ActiveRecord в качестве уровня абстракции поверх СУБД заключается именно в обеспечении переносимости, но эйхо 🙂
3. Это одно из распространенных утверждений, но оно действительно не выдерживает критики, если вы делаете что-то большее, чем
select * from table
. Типы столбцов различны, кавычки различны, чувствительность к регистру различна, …