91df76928b
The setup here is a bit rough while we settle some of the details, but the gist of it is: - Define accessories to run the primary/replica processes - Add a web-replica role, which is similar to web but has the replication-side accessory - Load the beamer extension on the app's primary tenanted database Note that we aren't sending any traffic into the replica yet, but it would be functional to do so. This stage is mainly about testing the database replication.
67 lines
1.8 KiB
YAML
67 lines
1.8 KiB
YAML
# SQLite. Versions 3.8.0 and up are supported.
|
|
# gem install sqlite3
|
|
#
|
|
# Ensure the SQLite 3 gem is defined in your Gemfile
|
|
# gem "sqlite3"
|
|
#
|
|
default: &default
|
|
adapter: sqlite3
|
|
pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
|
|
timeout: 5000
|
|
|
|
development:
|
|
primary:
|
|
<<: *default
|
|
database: storage/tenants/<%= Rails.env %>/%{tenant}/db/main.sqlite3
|
|
tenanted: true
|
|
primary_original:
|
|
<<: *default
|
|
database: storage/storage-production-20250311-1725.sqlite3
|
|
replica: true
|
|
readonly: true
|
|
cable:
|
|
<<: *default
|
|
database: storage/development_cable.sqlite3
|
|
migrations_paths: db/cable_migrate
|
|
cache:
|
|
<<: *default
|
|
database: storage/development_cache.sqlite3
|
|
migrations_paths: db/cache_migrate
|
|
queue:
|
|
<<: *default
|
|
database: storage/development_queue.sqlite3
|
|
migrations_paths: db/queue_migrate
|
|
|
|
# Warning: The database defined as "test" will be erased and
|
|
# re-generated from your development database when you run "rake".
|
|
# Do not set this db to the same as development or production.
|
|
test:
|
|
<<: *default
|
|
database: storage/tenants/<%= Rails.env %>/%{tenant}/db/main.sqlite3
|
|
tenanted: true
|
|
|
|
production:
|
|
primary:
|
|
<<: *default
|
|
database: storage/tenants/<%= Rails.env %>/%{tenant}/db/main.sqlite3
|
|
tenanted: true
|
|
extensions:
|
|
- ./bin/lib/beamer.so
|
|
primary_original:
|
|
<<: *default
|
|
database: storage/production.sqlite3
|
|
replica: true
|
|
readonly: true
|
|
cable:
|
|
<<: *default
|
|
database: storage/production_cable.sqlite3
|
|
migrations_paths: db/cable_migrate
|
|
cache:
|
|
<<: *default
|
|
database: storage/production_cache.sqlite3
|
|
migrations_paths: db/cache_migrate
|
|
queue:
|
|
<<: *default
|
|
database: storage/production_queue.sqlite3
|
|
migrations_paths: db/queue_migrate
|