Перенести Ruby on Rails с Postgres на mysql — эквивалент activerecord-postgres_enum?

#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 . Типы столбцов различны, кавычки различны, чувствительность к регистру различна, …