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
File details
Details for the file django-psycopg2-extension-0.2.1.tar.gz
.
File metadata
- Download URL: django-psycopg2-extension-0.2.1.tar.gz
- Upload date:
- Size: 7.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.28.1 setuptools/68.1.2 requests-toolbelt/0.9.1 tqdm/4.58.0 CPython/3.8.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3a17bf1743f537c458233777899da740770b7e5d337681459795d4bd2959c643 |
|
MD5 | a2929ecbd1389127ff05e1649956bf03 |
|
BLAKE2b-256 | 3046a3d86d1a3fa738065ee13ff4a70e6d797b7ad3b439768c80a6458e1f3813 |