Skip to main content

multi_database_sharding

⚙️ Multi‑Database and Sharding

Rails 6+ supports multiple databases and horizontal sharding out of the box. Configure separate roles (writing, reading) or shards for scaling reads and writes.

development:
primary:
database: app_primary
primary_replica:
database: app_primary_replica
replica: true
animals_shard:
database: app_animals_shard
# Usage:
ActiveRecord::Base.connected_to(role: :reading) do
User.first
end
ActiveRecord::Base.connected_to(shard: :animals_shard) do
Animal.create(name: "Lion")
end