Overview

Pyrseas provides utilities to maintain a PostgreSQL database schema by incrementally upgrading the schema.

See Getting Started for a concrete example of how this might work.

Tools

dbtoyaml - Database to YAML
Exports the database structure (tables, functions, etc) to a yaml file.*
yamltodb - YAML to Database
Incrementally upgrades the target database using the desired schema in the yaml file.
dbaugment - Augment a database
Modifies the *.yaml files to add the same column/trigger/etc to every table.
datacopy
Populates tables in the database from your *.csv files.
user/advanced/preactions
Runs SQL files in a folder for complex migration scenarios.

* Multiple yaml files is also supported, see –multiple-files in dbtoyaml - Database to YAML

Naming

The project name comes from Python, the programming language, and Perseas [1], the Greek mythological hero who rescued Andromeda from a sea monster [2]. It is hoped that Pyrseas will rescue the Andromeda project <grin>. You can pronounce Pyrseas like the hero.

Footnotes

[1]The common English name for Perseas is Perseus and the Ancient Greek name is Perseos. However, in modern Greek Περσέας is the more common spelling for the mythical hero.
[2]He is better known for having killed Medusa.