Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 08 Feb 2018 09:58:48 +0000
From:      bugzilla-noreply@freebsd.org
To:        freebsd-ports-bugs@FreeBSD.org
Subject:   [Bug 225756] [NEW PORT] databases/py-pum: Postgres Upgrades Manager
Message-ID:  <bug-225756-13@https.bugs.freebsd.org/bugzilla/>

next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D225756

            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@FreeBSD.org
          Reporter: lbartoletti@tuxfamily.org
 Attachment #190425 maintainer-approval+
             Flags:
             Flags: maintainer-feedback+

Created attachment 190425
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=3D190425&action=
=3Dedit
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 si=
nce
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/
=20=20=20
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, e=
tc..

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


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

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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-225756-13>