[Bug 225756] [NEW PORT] databases/py-pum: Postgres Upgrades Manager

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Thu Feb 8 09:58:50 UTC 2018


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=225756

            Bug ID: 225756
           Summary: [NEW PORT] databases/py-pum: Postgres Upgrades Manager
           Product: Ports & Packages
           Version: Latest
          Hardware: Any
               URL: https://github.com/opengisch/pum/
                OS: Any
            Status: New
          Keywords: easy, patch-ready
          Severity: Affects Only Me
          Priority: ---
         Component: Individual Port(s)
          Assignee: freebsd-ports-bugs at FreeBSD.org
          Reporter: lbartoletti at tuxfamily.org
 Attachment #190425 maintainer-approval+
             Flags:
             Flags: maintainer-feedback+

Created attachment 190425
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=190425&action=edit
py36-pum-0.5.9

pum

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

Pum is python program that can be used via command line or directly from
another python program.

Pum permits the followings operations on Postgres databases:

    check the differences between two databases
    create a backup (dump file) of a database
    restore a database from a backup
    upgrade a database applying delta files

and some other useful operations.
General purpose and workflow

Good practices regarding database versioning and migration are not so easy to
handle in a CVS code management system. Initial developpement is easy, using
pure git, and sometimes some meta SQL generation scripts. But when it comes to
maintaining databases already in production, good practices differ a lot since
SQL patchs can't be handled the same way as git diffs.

We recommend reading somes of those great articles to get a clearer view on
what could, and should (or not) be done:

    https://blog.codinghorror.com/get-your-database-under-version-control/
   
http://petereisentraut.blogspot.fr/2012/05/my-anti-take-on-database-schema-version.html

The worklow consists in having version metadata written INSIDE the database and
use that to check current state, old migrations, new migrations to apply, etc..

The first thing to do is use the "baseline" command to create metadata in your
database, and then you are good to go.


---
Poudriere 10/11 i386/amd64 OK
Portlint OK

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-ports-bugs mailing list