I’m pleased to announce the first public release of 
[pglifecycle](https://github.com/gmr/pglifecycle), an open source schema 
management tool for PostgreSQL.

pglifecycle keeps your database schema in version control as structured YAML, 
with one file for each table, view, function, role, and other object. This 
makes the current schema easy to browse, review, and change without 
reconstructing it from years of migration files.

With pglifecycle, you can:

- Pull an existing database into a schema project
- Build that project into an archive for `pg_restore`
- Compare it with a live database and generate the DDL needed to reconcile them

Deployment is plan first. Destructive changes are withheld unless explicitly 
allowed, making the generated SQL suitable for review in CI.

The companion [pglifecycle GitHub 
Action](https://github.com/gmr/pglifecycle-action) can detect schema drift and 
post deployment plans directly to pull requests without applying them.

Version 2 is a Rust rewrite of the original tool, which has managed AWeber’s 
production schema for more than seven years. The beta release expands 
PostgreSQL object coverage and improves deployment convergence and safety.

* [Getting Started](https://pglifecycle.com/getting-started.html)
* [Documentation](https://pglifecycle.com/)
* [GitHub Action](https://github.com/gmr/pglifecycle-action)

Feedback and real world test cases are welcome as pglifecycle moves toward a 
stable 2.0 release.

Reply via email to