This repository is private.
All pages are served over SSL and all pushing and pulling is done over SSH.
No one may fork, clone, or view it unless they are added as a member.
Every repository with this icon (
) is private.
Every repository with this icon (
This repository is public.
Anyone may fork, clone, or view it.
Every repository with this icon (
) is public.
Every repository with this icon (
Robby Russell (author)
Mon Mar 03 21:19:50 -0800 2008
| name | age | message | |
|---|---|---|---|
| |
LICENSE | Fri Oct 05 22:59:57 -0700 2007 | [rick] |
| |
README | Mon Mar 03 21:19:50 -0800 2008 | [Robby Russell] |
| |
lib/ | Fri Oct 05 23:22:08 -0700 2007 | [rick] |
README
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




