Skip to main content

Catalant Core DB Framework

Project description

CT Core DB – Catalant Core DB Framework.

The main features available in this framework include:

  • The SQLAlchemy toolkit with our customizations and enhancements
  • Commands for versioning and managing MySQL database schemas
  • Debugging and development utilities for working with SQLAlchemy queries and events

SQLAlchemy Documentation


  • python >= 2.6
  • mysql-diff == 0.3 (built into the base Docker image)


CT Core DB is hosted on our internal PyPi repository. It should be installed using pip:

pip install ct-core-db


Most of the functionality exposed by this library is made available through the SQLAlchemy ct_core_db.db instance or via the db Flask commands in ct-core-api.

SQLAlchemy Enhancements

  • ct_core_db.lib.db_utils – Various utilities for debugging and logging SQLAlchemy queries and events
  • ct_core_db.lib.sqla – Improved signalling session that avoids PK collisions, base model, and model mixins
  • ct_core_db.lib.sqla_types – Custom SQLAlchemy column data types

MySQL Diff

Use the mysql_diff.MySQLDiffCommand to produce a database migration script based on the differences between two MySQL database schemas:

from ct_core_db.lib import mysql_diff

mysql_diff_cmd = mysql_diff.MySQLDiffCommand()
diff_output = mysql_diff_cmd('jdbc_db_url_a', 'jdbc_db_url_b')

MySQL Version Manager

Use the mysql_version.MySQLVersionManager class to create, diff, and upgrade your MySQL database schemas:

from ct_core_db.lib import mysql_diff

mysql_version_manager = mysql_version.MySQLVersionManager(engine, mysql_diff_cmd)
mysql_version_manager.diff_db()  # Invokes `mysql_diff_command`

Bug tracker

If you have any suggestions, bug reports or annoyances please report them to the issue tracker at


Development of ct-core-db happens at github:



Licensed under a 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.

Files for ct-core-db, version 1.2.0
Filename, size File type Python version Upload date Hashes
Filename, size ct-core-db-1.2.0.tar.gz (14.4 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page