Skip to main content

Pum stands for "Postgres Upgrades Manager". It is a Database migration management tool very similar to flyway-db or Liquibase, based on metadata tables.

Project description

PostgreSQL Upgrades Manager (PUM)

logo

New version

This is the code of pum version 1. You can find version 0.x documentation at https://github.com/opengisch/pum/tree/old-v1

About

PUM (PostgreSQL Upgrades Manager) is a robust database migration management tool designed to streamline the process of managing PostgreSQL database upgrades. Inspired by tools like FlywayDB and Liquibase, PUM leverages metadata tables to ensure seamless database versioning and migration.

Key Features

  • Command-line and Python Integration: Use PUM as a standalone CLI tool or integrate it into your Python project.
  • Database Versioning: Automatically manage database versioning with a metadata table.
  • Changelog Management: Apply and track SQL delta files for database upgrades.
  • Migration Hooks: Define custom hooks to execute additional SQL or Python code before or after migrations. This feature allows you to isolate data (table) code from application code (such as views and triggers), ensuring a clear separation of concerns and more maintainable database structures.

Why PUM?

Managing database migrations in a Version Control System (VCS) can be challenging, especially for production databases. PUM simplifies this process by embedding version metadata directly into the database, enabling efficient tracking and application of migrations.

PUM was developed to address challenges in the TEKSI project, an open-source GIS for network management based on QGIS.

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

pum-1.1.12.tar.gz (928.6 kB view details)

Uploaded Source

Built Distribution

pum-1.1.12-py3-none-any.whl (40.1 kB view details)

Uploaded Python 3

File details

Details for the file pum-1.1.12.tar.gz.

File metadata

  • Download URL: pum-1.1.12.tar.gz
  • Upload date:
  • Size: 928.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for pum-1.1.12.tar.gz
Algorithm Hash digest
SHA256 4bb295ef24627a9d757e52f58f4e4bc9cbca7482c768a4860994584c95e1e4f7
MD5 8a9c8706d564aa4dfdf06aedd75664e4
BLAKE2b-256 c0511efe7575f722fa2dc6fe091fbf9e329c805c439959a7b27a62ce20bd9f4c

See more details on using hashes here.

Provenance

The following attestation bundles were made for pum-1.1.12.tar.gz:

Publisher: deploy-to-pypi.yml on opengisch/pum

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pum-1.1.12-py3-none-any.whl.

File metadata

  • Download URL: pum-1.1.12-py3-none-any.whl
  • Upload date:
  • Size: 40.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for pum-1.1.12-py3-none-any.whl
Algorithm Hash digest
SHA256 f5bb84479f8b4a7e76574c7f48ecdda73ecca99fd2590b1ca2e74c2f3ec0c50d
MD5 1b9b0be4b8e752548a9b785b10578f82
BLAKE2b-256 86bdf745d7a77597b2c91eb459838680be9a81aad3659985d89d00600bfd8f9a

See more details on using hashes here.

Provenance

The following attestation bundles were made for pum-1.1.12-py3-none-any.whl:

Publisher: deploy-to-pypi.yml on opengisch/pum

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page