I was wondering if there is a way how to do Rails Engines (as bound contexts) where each engine would have it’s own (ActiveRecord) database.
Referring to article The Modular Monolith: Rails Architecture | by Dan Manges | Medium
Imagine every bound context (Rails engine) would have own DB (like microservices has)
Online store app
-
product listing - own postgres DB
-
orders - own postgres DB
-
basket - own postgres DB
I know that this could teoretically be done on model level:
module YourEngine
class Post < ActiveRecord::Base
establish_connection :adapter => 'sqlite3', :database => 'db/your_engine.sqlite3'
end
end
But is there anything like my_engine/config/database.yml
==> own ActiveRecord database setup for every engine ?
I’m purely just investigating the possibilities for a talk don’t really want to implement something like that
Thank you