diff options
author | Eileen M. Uchitelle <eileencodes@users.noreply.github.com> | 2019-01-30 14:03:45 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-01-30 14:03:45 -0500 |
commit | 8ca6bd2e942f9a2652ec20c0c419e9b08f25c2e1 (patch) | |
tree | be5a77ef849880d632509346673e5d11a3f3d251 /railties/lib/rails/generators | |
parent | 677b658d635f7bd5d39a56afc43e4c7e55989ad6 (diff) | |
parent | 0abcec416b6ec11faffa03d40e5661c0a4a8b092 (diff) | |
download | rails-8ca6bd2e942f9a2652ec20c0c419e9b08f25c2e1.tar.gz rails-8ca6bd2e942f9a2652ec20c0c419e9b08f25c2e1.tar.bz2 rails-8ca6bd2e942f9a2652ec20c0c419e9b08f25c2e1.zip |
Merge pull request #35073 from eileencodes/db-selection
Part 8: Multi db improvements, Adds basic automatic database switching to Rails
Diffstat (limited to 'railties/lib/rails/generators')
-rw-r--r-- | railties/lib/rails/generators/rails/app/templates/config/environments/production.rb.tt | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/railties/lib/rails/generators/rails/app/templates/config/environments/production.rb.tt b/railties/lib/rails/generators/rails/app/templates/config/environments/production.rb.tt index 08befd9196..94f7dd0c79 100644 --- a/railties/lib/rails/generators/rails/app/templates/config/environments/production.rb.tt +++ b/railties/lib/rails/generators/rails/app/templates/config/environments/production.rb.tt @@ -98,4 +98,24 @@ Rails.application.configure do # Do not dump schema after migrations. config.active_record.dump_schema_after_migration = false <%- end -%> + + # Inserts middleware to perform automatic connection switching. + # The `database_selector` hash is used to pass options to the DatabaseSelector + # middleware. The `delay` is used to determine how long to wait after a write + # to send a subsequent read to the primary. + # + # The `database_resolver` class is used by the middleware to determine which + # database is appropriate to use based on the time delay. + # + # The `database_operations` class is used by the middleware to set timestamps + # for the last write to the primary. The resolver uses the operations class + # timestamps to determine how long to wait before reading from the replica. + # + # By default Rails will store a last write timestamp in the session. The + # DatabaseSelector middleware is designed as such you can define your own + # strategy for connection switching and pass that into the middleware through + # these configuration options. + # config.active_record.database_selector = { delay: 2.seconds } + # config.active_record.database_resolver = ActiveRecord::Middleware::DatabaseSelector::Resolver + # config.active_record.database_operations = ActiveRecord::Middleware::DatabaseSelector::Resolver::Session end |