Skip to main content

Simple and usable database router for django

Project description

[[TOC]]

Description

Set of simple and usable database routers for django applitaions

dbrouter.DbByAppRouter

dbrouter.DbByAppRouter allows you to specify django-applications or models, that will work with this database.

dbrouter.RestrictMigrations

dbrouter.RestrictMigrations allows you to specify a database to which you can not apply migrations. For example, with read-only access.

dbrouter.parse_database_url

dbrouter.parse_database_url allows you to specify a database connection as one string

Example

from dbrouter import parse_database_url

# ...

INSTALLED_APPS = [
    ...
    'some_app',
    'other_app',
]

...
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': 'db.sqlite3',
    },
    # 'dbrouter.DbByAppRouter' usage example
    'external': {
        'NAME': 'some_other',
        .....
        'applications': [
            'some_app',                 #  all models on some_app
            'other_app.OnlyThisModel',  #  OnlyThisModel on other_app
        ],
    },
    # 'dbrouter.RestrictMigrations' usage example
    'some_read_only_external_database': {
        'NAME': 'some_read_only_external_database',
        .....
        'allow_migrate': False,
        # False - disable migrations
        # True - do not disable migrations
        # None - default
    },
    'some_db_added_by_url': parse_database_url(
        # DB in remoge PostgreSQL-server on some schema
        'psql://user:pass@remote.db.host/dbname?options=-c search_path=some_schema',
        applications=['some_new_app'],
        allow_migrate=False)
}

...
DATABASE_ROUTERS = [
    'dbrouter.DbByAppRouter',
    'dbrouter.RestrictMigrations',
    ...
]

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-dbrouter-0.1.4.post2.tar.gz (4.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

django_dbrouter-0.1.4.post2-py3-none-any.whl (5.4 kB view details)

Uploaded Python 3

File details

Details for the file django-dbrouter-0.1.4.post2.tar.gz.

File metadata

  • Download URL: django-dbrouter-0.1.4.post2.tar.gz
  • Upload date:
  • Size: 4.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.4.2 requests/2.22.0 setuptools/45.2.0 requests-toolbelt/0.8.0 tqdm/4.30.0 CPython/3.8.10

File hashes

Hashes for django-dbrouter-0.1.4.post2.tar.gz
Algorithm Hash digest
SHA256 214386fb6d8af5887ed85401d809ba58f50e906c34571faf383dcc77ed38568d
MD5 b30c3edf6257d267983b687d010f35b0
BLAKE2b-256 af02f81e5053e945e8b514df00e73f8eb72c891b9bc37b03925346b0a6ef84ea

See more details on using hashes here.

File details

Details for the file django_dbrouter-0.1.4.post2-py3-none-any.whl.

File metadata

  • Download URL: django_dbrouter-0.1.4.post2-py3-none-any.whl
  • Upload date:
  • Size: 5.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.4.2 requests/2.22.0 setuptools/45.2.0 requests-toolbelt/0.8.0 tqdm/4.30.0 CPython/3.8.10

File hashes

Hashes for django_dbrouter-0.1.4.post2-py3-none-any.whl
Algorithm Hash digest
SHA256 1f120db84b2f48a017a07546b044c05c406fad4be78ac8b4db89e6c7881ffc47
MD5 7f35cf86fa4e31cacb403ea2b75eface
BLAKE2b-256 a7d79cb19734e11b763bad2f16c753ea83c604ddd9869ca893c3bc9091e264ca

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page