Septentrion: A CLI tool to apply PostgreSQL migrations to a database
Overview
Maybe you’re looking for a tool to take care of Database migrations in your project. For Django projects, that tool used to be South and then it became Django itself.
But maybe you’re looking for a tool that just focuses on running existing SQL migrations and keeping track of what was applied. Your tool of choice would not generate those migrations, because you prefer your migrations to be manually written in SQL. Then your tool would be django-north.
But maybe you’re not using Django. You would like a standalone migration tool. You’re looking for Septentrion. Congratulations, you’ve found it.
Septentrion supports PostgreSQL 9.6+ & Python 3.7+, and requires the psql executable to be present on the system.
Very quick start
Step 0: Install with pip install septentrion[psycopg2_binary] (or pip install septentrion[psycopg2] if you know what you’re doing)
Step 1: Create a folder for the version, and add some migration files.
migrations/
└── 1.0
├── 1.0-0-version-dml.sql
├── 1.0-author-1-ddl.sql
└── 1.0-author-2-dml.sql
Step 2: Run septentrion
$ septentrion --target-version 1.0 migrate
Step 3: That’s it.
We’re currently working on this tool, and it’s been used internally since 2018, but for now, if you want to use it without a direct access to the people who wrote it, you’re going to have a lot of questions. We expect a proper documentation to be ready by mid-2020. Please feel free to contact us meanwhile.
Where to go from here
The complete docs is probably the best place to learn about the project.
You can check the quickstart guide to start running your first migrations.
If you encounter a bug, or want to get in touch, you’re always welcome to open a ticket.
Metadata
Release files for septentrion 0.7.8
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| septentrion-0.7.8.tar.gz | 18.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| septentrion-0.7.8-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 39.1 kB
Release files / septentrion-0.7.8.tar.gz
| Download URL | septentrion-0.7.8.tar.gz |
|---|---|
| Size | 18.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b1e939d438ac4bb7a3d92ea673d34a1e56d7e234c93255420b1e6180f73edf18
|
|
BLAKE2b-256 checksum How to use checksums |
419728d8dc0012e34fd87eb0dcbf341a558c37f8678ff35eaf16823555a7ada2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.1.13 CPython/3.8.10 Linux/5.11.0-1028-azure
|
Release files / septentrion-0.7.8-py3-none-any.whl
| Download URL | septentrion-0.7.8-py3-none-any.whl |
|---|---|
| Size | 21.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ff126a365afa898ff11ce8b83c6d9984ee942dc3ba25a4ad18d341af4f8a852e
|
|
BLAKE2b-256 checksum How to use checksums |
2fcd6d4eab244827c66ff31dc1c64c89804af69ddaaa90765984cc965738bf84
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.1.13 CPython/3.8.10 Linux/5.11.0-1028-azure
|