123456789101112131415161718192021222324 |
- # frozen_string_literal: true
- module DatabaseHelper
- def replica_enabled?
- ENV['REPLICA_DB_NAME'] || ENV.fetch('REPLICA_DATABASE_URL', nil)
- end
- module_function :replica_enabled?
- def with_read_replica(&block)
- if replica_enabled?
- ApplicationRecord.connected_to(role: :reading, prevent_writes: true, &block)
- else
- yield
- end
- end
- def with_primary(&block)
- if replica_enabled?
- ApplicationRecord.connected_to(role: :writing, &block)
- else
- yield
- end
- end
- end
|