Files
fizzy/lib/deployment/database_resolver.rb
T
2025-11-18 11:03:58 +00:00

19 lines
616 B
Ruby

module Deployment
class DatabaseResolver < ActiveRecord::Middleware::DatabaseSelector::Resolver
def self.in_primary_datacenter?
ENV["PRIMARY_DATACENTER"].present? || Rails.env.local?
end
def reading_request?(request)
# Disables writes (and so primary-DB stickiness) in non-primary datacenters
super || !DatabaseResolver.in_primary_datacenter?
end
private
def read_from_primary?
# Only the primary datacenter can read from the primary database, non-primary DCs have local DB replicas
super && DatabaseResolver.in_primary_datacenter?
end
end
end