Как использовать ActiveRecord вне Rails?
Я создаю приложение Rails на основе гексагональной архитектуры.
Один из моих адаптеров - это адаптер хранения (поддерживается как драгоценный камень), который управляет доступом к базе данных и предоставляет простой интерфейс для приложения rails для хранения и запроса данных в базе данных.
Я хотел бы использовать ActiveRecord
в этом камне со всеми задачами rake
(создавать, переносить, удалять, откатывать) для управления базой данных.
Как я могу использовать AR внешние рельсы, но со всеми задачами rake?
Ответы
Ответ 1
Установите его, как и любой другой камень
gem install activerecord
Затем вы сконфигурируете его где-то вроде этого
ActiveRecord::Base.establish_connection(
:adapter => 'mysql',
:database => 'database',
:username => 'user',
:password => 'password',
:host => 'localhost')
Модели могут затем наследовать, как обычно, от ActiveRecord:: Base
Вы получаете все задачи рейка, но вам нужно выполнить дополнительную настройку, так как у вас не будет Rails. Вот ссылка внутри activerecord на то, как настроить этот материал.
Задачи базы данных
Ответ 2
Обновленное решение - standalone_migrations. В основном после выполнения настройки для драгоценного камня и создания конфигурации у вас есть доступ ко всем настройкам ActiveRecord. Включены задачи рейка!
Кроме того, я создал небольшой генератор для простых простейших скриптов, которые имеют доступ к ActiveRecord из коробки: nrb - Ninja Ruby.