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