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

  • Flexible Database Connections: Connect using PostgreSQL service names or direct connection strings (URI or parameters).
  • 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.
  • Droppable & recreatable app with data isolation: PUM supports a clean rebuild workflow where an application environment can be dropped and recreated deterministically using hooks (pre and post migration).

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


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

pum-1.7.1.tar.gz (95.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pum-1.7.1-py3-none-any.whl (75.7 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for pum-1.7.1.tar.gz
Algorithm Hash digest
SHA256 c62b6cc3ea5ee4bee56939914f09e021759a02c15a22388bbd977a762fcb41c5
MD5 a1db445fba5bc5241ce1c7717e7fe446
BLAKE2b-256 461a01c593b87efec692a86c38ae443d98ff98f72514b79fe8d4460d22b45ffb

See more details on using hashes here.

Provenance

The following attestation bundles were made for pum-1.7.1.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.7.1-py3-none-any.whl.

File metadata

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

File hashes

Hashes for pum-1.7.1-py3-none-any.whl
Algorithm Hash digest
SHA256 dd994a084281e43543ec34505ebaf46308f74b9a446f72a0c99206ab3be9ef1a
MD5 ba5be0098c5665739084f24948bdef98
BLAKE2b-256 650069f8a394f61fa2d03e9fa1c674e7c797f269f37f3001cdee049edaf2b586

See more details on using hashes here.

Provenance

The following attestation bundles were made for pum-1.7.1-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 Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page