Perseid

Perseid is a C++ toolkit for extracting and applying PostgreSQL database schemas, derived from Pyrseas.

It converts a live database schema to YAML, and can apply YAML descriptions back to a database—enabling version-controlled schema management.

Quick start

Extract a database schema to YAML

dbtoyaml testdb -o schema.yaml

Apply a YAML schema to a database

yamltodb testdb schema.yaml --update

Features

  • dbtoyaml: Extracts the definition of database tables and other objects (metadata) from PostgreSQL into YAML format, suitable for storing in a version control repository.

  • yamltodb: Reads a YAML schema specfication and generates or executes SQL CREATE/ALTER/DROP statements to modify a target PostgreSQL database so that it will match the input.

Documentation