Skip to main content

Database wrapper classes for SQLAlchemy.

Project description

bh_database

Database wrapper classes for SQLAlchemy.

Pip installation

pip install bh-database

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

Full documentation

License

MIT license

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

bh_database-0.0.5.tar.gz (22.3 kB view hashes)

Uploaded Source

Built Distribution

bh_database-0.0.5-py3-none-any.whl (15.9 kB view hashes)

Uploaded Python 3

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