Fix not actually connecting to the configured replica (#25977)
This commit is contained in:
parent
b923a4c755
commit
26e522ac55
3 changed files with 34 additions and 14 deletions
|
@ -2,10 +2,10 @@
|
|||
|
||||
module DatabaseHelper
|
||||
def with_read_replica(&block)
|
||||
ApplicationRecord.connected_to(role: :read, prevent_writes: true, &block)
|
||||
ApplicationRecord.connected_to(role: :reading, prevent_writes: true, &block)
|
||||
end
|
||||
|
||||
def with_primary(&block)
|
||||
ApplicationRecord.connected_to(role: :primary, &block)
|
||||
ApplicationRecord.connected_to(role: :writing, &block)
|
||||
end
|
||||
end
|
||||
|
|
|
@ -5,6 +5,8 @@ class ApplicationRecord < ActiveRecord::Base
|
|||
|
||||
include Remotable
|
||||
|
||||
connects_to database: { writing: :primary, reading: :read }
|
||||
|
||||
class << self
|
||||
def update_index(_type_name, *_args, &_block)
|
||||
super if Chewy.enabled?
|
||||
|
|
|
@ -8,23 +8,41 @@ default: &default
|
|||
application_name: ''
|
||||
|
||||
development:
|
||||
<<: *default
|
||||
database: <%= ENV['DB_NAME'] || 'mastodon_development' %>
|
||||
username: <%= ENV['DB_USER'] %>
|
||||
password: <%= (ENV['DB_PASS'] || '').to_json %>
|
||||
host: <%= ENV['DB_HOST'] %>
|
||||
port: <%= ENV['DB_PORT'] %>
|
||||
primary:
|
||||
<<: *default
|
||||
database: <%= ENV['DB_NAME'] || 'mastodon_development' %>
|
||||
username: <%= ENV['DB_USER'] %>
|
||||
password: <%= (ENV['DB_PASS'] || '').to_json %>
|
||||
host: <%= ENV['DB_HOST'] %>
|
||||
port: <%= ENV['DB_PORT'] %>
|
||||
read:
|
||||
<<: *default
|
||||
database: <%= ENV['DB_NAME'] || 'mastodon_development' %>
|
||||
username: <%= ENV['DB_USER'] %>
|
||||
password: <%= (ENV['DB_PASS'] || '').to_json %>
|
||||
host: <%= ENV['DB_HOST'] %>
|
||||
port: <%= ENV['DB_PORT'] %>
|
||||
replica: true
|
||||
|
||||
# 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: <%= ENV['DB_NAME'] || 'mastodon' %>_test<%= ENV['TEST_ENV_NUMBER'] %>
|
||||
username: <%= ENV['DB_USER'] %>
|
||||
password: <%= (ENV['DB_PASS'] || '').to_json %>
|
||||
host: <%= ENV['DB_HOST'] %>
|
||||
port: <%= ENV['DB_PORT'] %>
|
||||
primary:
|
||||
<<: *default
|
||||
database: <%= ENV['DB_NAME'] || 'mastodon' %>_test<%= ENV['TEST_ENV_NUMBER'] %>
|
||||
username: <%= ENV['DB_USER'] %>
|
||||
password: <%= (ENV['DB_PASS'] || '').to_json %>
|
||||
host: <%= ENV['DB_HOST'] %>
|
||||
port: <%= ENV['DB_PORT'] %>
|
||||
read:
|
||||
<<: *default
|
||||
database: <%= ENV['DB_NAME'] || 'mastodon' %>_test<%= ENV['TEST_ENV_NUMBER'] %>
|
||||
username: <%= ENV['DB_USER'] %>
|
||||
password: <%= (ENV['DB_PASS'] || '').to_json %>
|
||||
host: <%= ENV['DB_HOST'] %>
|
||||
port: <%= ENV['DB_PORT'] %>
|
||||
replica: true
|
||||
|
||||
production:
|
||||
primary:
|
||||
|
|
Loading…
Reference in a new issue