Skip to main content

Python CLI tool for managing and executing hand-written PostgreSQL migrations

Project description

Deployed to PyPI Documentation Status Continuous Integration Status Coverage Status MIT License Contributor Covenant

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.

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

septentrion-0.7.8.tar.gz (18.0 kB view details)

Uploaded Source

Built Distribution

septentrion-0.7.8-py3-none-any.whl (21.2 kB view details)

Uploaded Python 3

File details

Details for the file septentrion-0.7.8.tar.gz.

File metadata

  • Download URL: septentrion-0.7.8.tar.gz
  • Upload date:
  • Size: 18.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.13 CPython/3.8.10 Linux/5.11.0-1028-azure

File hashes

Hashes for septentrion-0.7.8.tar.gz
Algorithm Hash digest
SHA256 b1e939d438ac4bb7a3d92ea673d34a1e56d7e234c93255420b1e6180f73edf18
MD5 0495aa55e8b6da8dd224e865b19f424f
BLAKE2b-256 419728d8dc0012e34fd87eb0dcbf341a558c37f8678ff35eaf16823555a7ada2

See more details on using hashes here.

File details

Details for the file septentrion-0.7.8-py3-none-any.whl.

File metadata

  • Download URL: septentrion-0.7.8-py3-none-any.whl
  • Upload date:
  • Size: 21.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.13 CPython/3.8.10 Linux/5.11.0-1028-azure

File hashes

Hashes for septentrion-0.7.8-py3-none-any.whl
Algorithm Hash digest
SHA256 ff126a365afa898ff11ce8b83c6d9984ee942dc3ba25a4ad18d341af4f8a852e
MD5 d1c82703362c66544153b3aab72664d2
BLAKE2b-256 2fcd6d4eab244827c66ff31dc1c64c89804af69ddaaa90765984cc965738bf84

See more details on using hashes here.

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