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.2.tar.gz (95.6 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.2-py3-none-any.whl (75.8 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for pum-1.7.2.tar.gz
Algorithm Hash digest
SHA256 8d1cbca1697c1188ad9030f43839ea10d750b96e5263e586f146a582c589c97e
MD5 7ac1882b74ec7b764c9ff6db25adf5f1
BLAKE2b-256 7e972cacdbe3f12ea83eefdaacf6babed3941079558f4049651a0926e173ec3e

See more details on using hashes here.

Provenance

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

File metadata

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

File hashes

Hashes for pum-1.7.2-py3-none-any.whl
Algorithm Hash digest
SHA256 4e5ed37eca008e9ee050ee9f08130e50db38ae9a19aa443c9ecf56b6717ff732
MD5 24b90f074bfc9e0a691b8f5a84596246
BLAKE2b-256 612fc710ced7f6764c4ec06da2e371792f1c534e0c02968bf6fd200447c8a738

See more details on using hashes here.

Provenance

The following attestation bundles were made for pum-1.7.2-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