Skip to main content

A simple master-slave database router that can route all reads to slave(s) and writes to a master database.

Project description

# django-master-slave-router
---
A simple database router that lets you route all reads to slave(s) and writes to a master database in a django project. It **DOES NOT** take care of replication nor does it handle scenarios where your databases are down/unavailable.

## Installation

Install the package through pip.

pip install django-master-slave-router

Prerequisites:

* Django >= 1.5


## Usage

Add the following settings inside your project's **settings.py**

1) Add 'master\_slave_router' to INSTALLED\_APPS.

INSTALLED_APPS = (
...
'master_slave_router',
)

2) Add MasterSlaveRouter to DATABASE_ROUTERS

DATABASE_ROUTERS = ('master_slave_router.MasterSlaveRouter')


3) Add connection settings for slave/master databases.

DATABASES = {
'default': {
...
},

'test_slave_1': {
...
},

'test_slave_2': {
...
}
}

4) Specify name(s) of the master and slave connections.

SLAVE_DATABASES = ('test_slave1', 'test_slave2')
MASTER_DATABASE = 'default'



## Licence
MIT.

Project details


Release history Release notifications | RSS feed

This version

0.2

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page