Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Fetching latest commit…
Cannot retrieve the latest commit at this time.
|Failed to load latest commit information.|
masochism ============== The masochism plugin provides an easy solution for Ruby on Rails applications to work in a replicated database environment. Connection proxy sends some database queries (those in a transaction, update statements, and ActiveRecord::Base#reload) to a master database, and the rest to the slave database. The ActiveReload::MasterDatabase model uses a 'master_database' setting in database.yml to serve as the master database. # config/database.yml login: &login adapter: postgresql host: localhost port: 5432 production: database: slave_database_name <<: *login master_database: database: master_database_name <<: *login To setup: Whether you want this in production only, or maybe just your deployment server, is up to you. Just call the following method in your desired environment file. ActiveReload::ConnectionProxy.setup! Some suggestions: * in a config/initializer * config.after_initialize block If you want a model to always use the Master database, you can inherit ActiveRelaod::MasterDatabase. Any models with their own database connection will not be affected. Setting up your own proxies: # Sets up MyMaster's connection as the master database connection for User. ActiveReload::ConnectionProxy.setup_for MyMaster, User