Detect, classify, and block schema drift in PostgreSQL before your pipelines break
Project description
DriftBrake
==========
DriftBrake is a Python tool that validates schema contracts before data pipelines run.
It reads the current PostgreSQL schema automatically, compares it against a versioned
contract, classifies changes by impact (BREAKING, WARNING, SAFE), and blocks pipelines
when incompatible changes are detected, before they cause failures in production.
The tool
========
DriftBrake is not a migration tool. It does not apply changes to the database and does
not generate SQL scripts.
It runs BEFORE pipelines, verifying that the actual database still respects the
contract expected by its data consumers.
Example
=======
Data pipelines fail silently when the database schema changes without warning:
- column removed or renamed
- data type altered
- NOT NULL added without a default
- foreign key modified
This tool runs an automatic validation before the pipeline starts and blocks the
execution if the database is no longer compatible with the expected contract.
Usage:
driftbrake init # creates the schema.lock.json contract
driftbrake check # checks whether the database has changed
driftbrake diff # compares two states without touching the contract
Documentation
=============
- DOCUMENTATION.md - https://github.com/yurivski/driftbrake/blob/main/DOCUMENTATION.md
- CHANGELOG.md - https://github.com/yurivski/driftbrake/blob/main/CHANGELOG.md
- YML file - https://github.com/yurivski/driftbrake/blob/main/driftbrake.example.yml
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
driftbrake-0.0.2.tar.gz
(26.9 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file driftbrake-0.0.2.tar.gz.
File metadata
- Download URL: driftbrake-0.0.2.tar.gz
- Upload date:
- Size: 26.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ccb48ee4398fc2abf1890e0000bc244004edfcc6dab00194ff5383ffaafb929e
|
|
| MD5 |
e6431630f6fe6a305a1aa546ad08835c
|
|
| BLAKE2b-256 |
c569227836bd60ff64858e5a385bde6c5af47892e04b0dc25c1e7f630bef797f
|
File details
Details for the file driftbrake-0.0.2-py3-none-any.whl.
File metadata
- Download URL: driftbrake-0.0.2-py3-none-any.whl
- Upload date:
- Size: 38.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ba5837b6dab131dd002f7e41e5ae6eee0405483ba87335b8a6c6f2f469152dd4
|
|
| MD5 |
dff0204865bc510b0f0ea022db364f9f
|
|
| BLAKE2b-256 |
519d2057ca5e47726ca21e9e57aee47af92130266d33b44a25edba2f285852c9
|