Skip to main content

UNKNOWN

Project description

https://travis-ci.org/paetzke/django-db-call.png?branch=master https://coveralls.io/repos/paetzke/django-db-call/badge.png?branch=master

Copyright (c) 2014, Friedrich Paetzke (f.paetzke@gmail.com) All rights reserved.

Django-db-call creates a database configuration for a django project from command line input.

It supports MySQL and PostgreSQL⁽¹⁾ right now.

It comes with two functions:

  • from_call()

  • from_calls()

You can install django-db-call via pip.

$ pip install django-db-call

An usage example:

from django_db_call import from_call

DATABASES = from_call('mysql -h localhost -u root -p my_sweet_secret -D my_db')

That will become:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'PORT': '',
        'PASSWORD': 'my_sweet_secret',
        'HOST': 'localhost',
        'NAME': 'my_db',
        'USER': 'root'
    }
}

You can change the connection name by passing a name for it:

DATABASES = from_call('mysql', connection='not_default')

And that is equivalent to:

DATABASES = {
    'not_default': {
        'ENGINE': 'django.db.backends.mysql',
        'HOST': '',
        'NAME': '',
        'PASSWORD': '',
        'PORT': '',
        'USER': ''
    }
}

You can also pass additional arguments to be used in OPTIONS.

DATABASES = from_call('mysql', autocommit=True)

And that will give you:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': '',
        'USER': '',
        'PASSWORD': '',
        'HOST': '',
        'PORT': '',
        'OPTIONS': {
            'autocommit': True,
        },
    }
}

For creating multiple databases connections you can use from_calls().

from django_db_call import from_calls

DATABASES = from_calls(
    [
        ['mysql -h localhost -u root -p my_sweet_secret -D my_db'],
        ['mysql -h localhost -u root -p my_sweet_secret -D archive',
            {'connection': 'archive'}],
    ])

And that will result in:

DATABASES = {
    'default': {
        'PASSWORD': 'my_sweet_secret',
        'ENGINE': 'django.db.backends.mysql',
        'PORT': '',
        'USER': 'root',
        'HOST': 'localhost',
        'NAME': 'my_db'
    },
    'archive': {
        'PASSWORD': 'my_sweet_secret',
        'ENGINE': 'django.db.backends.mysql',
        'PORT': '',
        'USER': 'root',
        'HOST': 'localhost',
        'NAME': 'archive'
    }
}

⁽¹⁾ It seems it is not possible to pass the password to use a specific database on psql. You have pass it explicitly.

DATABASES = from_call('psql', password='my_sweet_secret')
https://d2weczhvl823v0.cloudfront.net/paetzke/django-db-call/trend.png

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-db-call-0.2.0.tar.gz (4.0 kB view details)

Uploaded Source

Built Distribution

django_db_call-0.2.0-py2.py3-none-any.whl (5.4 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file django-db-call-0.2.0.tar.gz.

File metadata

File hashes

Hashes for django-db-call-0.2.0.tar.gz
Algorithm Hash digest
SHA256 b331567c12bdb04cfa1465295001e9779228dfc0cd61328c5806ad26ad311e72
MD5 6f52ba42af83f58ebcd25022c7438535
BLAKE2b-256 eab659cc34d8136c8e2b143a9f428367081261df3145779adaf50938ea017781

See more details on using hashes here.

File details

Details for the file django_db_call-0.2.0-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for django_db_call-0.2.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 032bf4b9edead34325d9bd6476cfd1ce0bef095d71e7ef190ef4e69f58eeacaf
MD5 e6a8a838a050547bfc14ef8f5d704810
BLAKE2b-256 0b3a1bd748d6e67ef8c2c7d6279a56b3e80bade4a7bbc568204adcb0bd976481

See more details on using hashes here.

Supported by

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