[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