Library contains django commands which helps to prepare and manage PostgreSQL database.
Project description
Django-psycopg2-extension
Library contains django commands which helps to prepare and manage PostgreSQL database.
Quickstart
Install djjango-psycopg2-extension
pip install django-psycopg2-extension
Add psycopg2_extension to your INSTALLED_APPS
:
INSTALLED_APPS = [
# Django apps...
'psycopg2_extension',
]
Commands
psqlinit
Django command psqlinit create a database defined in django settings.
You can define specific database settings with standard django DATABASE
settings:
DATABASES = {
'default': {
...
'EXTENSIONS': ['postgis', 'unaccent'], # extensions to be installed with psqlinit command
'SNAPSHOT_FILE': Path('data', 'sql', 'local', 'init_default.sql'), # SQL which will be loaded after database initialization
},
}
Snapshot and extensions are automatically loaded when database is preparing for tests too.
psqlclean
PostgreSQL database requires often call VACUUM
and REINDEX
. The command psqlclean
performs these operations.
You can define specific database settings for psqlclean command with standard django DATABASE
settings:
DATABASES = {
'default': {
...
'VACUUM': {
'EXCLUDE': ['users_user'], # list of excluded tables
'TABLES': ['users_permission'], # list of tables to vacuum, all tables are selected if the setting is not set
'TABLES_FULL': ['users_permission'], # list of tables to vacuum full
'TABLES_REINDEX': ['users_permission'], # list of tables to reindex
}
},
}
psqlsnapshot
Command which creates SQL dump with pg_dump
script and store it to the database 'SNAPSHOT_FILE'
setting.
psqlviews
Command which creates views defined in 'VIEWS'
setting.
DATABASES = {
'default': {
...
'VIEWS': {
'MODELS': {
'auth.users': ['id', 'email', 'first_name', 'last_name'], # Model name and list of fields
},
'SCHEMA': 'public', # Schema name
}
}
}
Now you can call psqlviews
command to create or remove views.
./manage.py psqlviews --create
./manage.py psqlviews --delete
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Hashes for django-psycopg2-extension-0.2.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | c9cef4cecb394fb0663f21ab09a714642505059b120726efe0cd90af4ee3810b |
|
MD5 | 30c7bb09179a5fa376410c81ad49b268 |
|
BLAKE2b-256 | 0ba47399b265f9b4691542e4d75ba024ab381c8788f85878e0c6d21da0613b27 |