Fix not actually connecting to the configured replica (#25977)
parent
b923a4c755
commit
26e522ac55
|
@ -2,10 +2,10 @@
|
||||||
|
|
||||||
module DatabaseHelper
|
module DatabaseHelper
|
||||||
def with_read_replica(&block)
|
def with_read_replica(&block)
|
||||||
ApplicationRecord.connected_to(role: :read, prevent_writes: true, &block)
|
ApplicationRecord.connected_to(role: :reading, prevent_writes: true, &block)
|
||||||
end
|
end
|
||||||
|
|
||||||
def with_primary(&block)
|
def with_primary(&block)
|
||||||
ApplicationRecord.connected_to(role: :primary, &block)
|
ApplicationRecord.connected_to(role: :writing, &block)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -5,6 +5,8 @@ class ApplicationRecord < ActiveRecord::Base
|
||||||
|
|
||||||
include Remotable
|
include Remotable
|
||||||
|
|
||||||
|
connects_to database: { writing: :primary, reading: :read }
|
||||||
|
|
||||||
class << self
|
class << self
|
||||||
def update_index(_type_name, *_args, &_block)
|
def update_index(_type_name, *_args, &_block)
|
||||||
super if Chewy.enabled?
|
super if Chewy.enabled?
|
||||||
|
|
|
@ -8,23 +8,41 @@ default: &default
|
||||||
application_name: ''
|
application_name: ''
|
||||||
|
|
||||||
development:
|
development:
|
||||||
<<: *default
|
primary:
|
||||||
database: <%= ENV['DB_NAME'] || 'mastodon_development' %>
|
<<: *default
|
||||||
username: <%= ENV['DB_USER'] %>
|
database: <%= ENV['DB_NAME'] || 'mastodon_development' %>
|
||||||
password: <%= (ENV['DB_PASS'] || '').to_json %>
|
username: <%= ENV['DB_USER'] %>
|
||||||
host: <%= ENV['DB_HOST'] %>
|
password: <%= (ENV['DB_PASS'] || '').to_json %>
|
||||||
port: <%= ENV['DB_PORT'] %>
|
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
|
# Warning: The database defined as "test" will be erased and
|
||||||
# re-generated from your development database when you run "rake".
|
# re-generated from your development database when you run "rake".
|
||||||
# Do not set this db to the same as development or production.
|
# Do not set this db to the same as development or production.
|
||||||
test:
|
test:
|
||||||
<<: *default
|
primary:
|
||||||
database: <%= ENV['DB_NAME'] || 'mastodon' %>_test<%= ENV['TEST_ENV_NUMBER'] %>
|
<<: *default
|
||||||
username: <%= ENV['DB_USER'] %>
|
database: <%= ENV['DB_NAME'] || 'mastodon' %>_test<%= ENV['TEST_ENV_NUMBER'] %>
|
||||||
password: <%= (ENV['DB_PASS'] || '').to_json %>
|
username: <%= ENV['DB_USER'] %>
|
||||||
host: <%= ENV['DB_HOST'] %>
|
password: <%= (ENV['DB_PASS'] || '').to_json %>
|
||||||
port: <%= ENV['DB_PORT'] %>
|
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:
|
production:
|
||||||
primary:
|
primary:
|
||||||
|
|
Reference in New Issue