Database wrapper classes for SQLAlchemy.
Project description
bh_database
Database wrapper classes for SQLAlchemy.
Installation
To install for MySQL using the mysql-connector-python driver, use the following command:
pip install bh-database[mysql-connector-python]
To install for PostgreSQL using the psycopg2 driver, use the following command::
pip install bh-database[psycopg2-binary]
Overview
Database wrapper classes for SQLAlchemy.
These classes currently support only two database types: MySQL and PostgreSQL. Drivers required, respectively:
These classes provide the following functionalities:
-
Database connection management.
-
A custom SQLAlchemy query class which implements paginating.
-
A generic base model (table), which should be the indirect base model for applications' models. This class encapsulates:
-
SQLAlchemy scoped session, thereby providing methods to implement transaction atomicity.
-
A custom base query with paginating ability mentioned above.
-
Fully implemented dunder methods str() and repr().
-
-
A generic SQLAlchemy declarative base class which should include all required metaclasses.
-
Some generic methods which run full text SQL statements.
-
A generic method to run stored procedures which return data.
-
A generic method which takes a list of records to be inserted, and records to be updated, and writes them to the target database table in a single call.
-
Transaction atomicity. Multiple database operations involving several different tables can be wrapped under a single transaction, so that all can be committed or rolled back as appropriate.
Please see Full documentation for more detail.
Documentation
License
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
Built Distribution
Hashes for bh_database-0.0.6-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2a224ef3d16640bf372d43072d508035ef8be5afdc4a433409f0e164c80c777d |
|
MD5 | 1c106f9dfabee7aeb0b5df6c0785dd66 |
|
BLAKE2b-256 | 2cd620026d9383f6f877b388b615a054d88acb76ee11393e0115d829fbeb0236 |