{"repo":"dmytro-demchyna/schema-keeper","free":true,"listed":false,"github":"https://github.com/dmytro-demchyna/schema-keeper","clone":"git clone https://github.com/dmytro-demchyna/schema-keeper.git","description":":detective: Track PostgreSQL schema as one-file-per-object dumps. Detect drift in CI. Read-only — complements your migrations","language":"PHP","stars":13,"topics":["postgresql","database","diff","dump","pgsql","postgres","schema","structure","drift-detection","database-review"],"license":"MIT","category":"databases-storage","readme_excerpt":"SchemaKeeper Track your PostgreSQL database structure in a version control system. SchemaKeeper is a read-only tool that saves each tracked schema object as a separate file, so schema changes become small, reviewable diffs: Why not just migrations? - Untracked changes : A teammate runs ALTER TABLE directly in production. Migrations won't catch it. SchemaKeeper will. - Environment drift : Staging has an extra index, dev is missing a trigger. You only find out when something breaks. SchemaKeeper surfaces every difference. - Schema review in PRs : Migrations show what you intended . SchemaKeeper shows what actually happened &mdash; every column, constraint, and function definition. All reviewable in a normal git diff . SchemaKeeper complements your migration tool, it doesn't replace it. How is this different from pg dump -s ? pg dump -s is for recreating schemas. SchemaKeeper is for tracking and reviewing schema changes in Git. - One file per object. pg dump -s puts the entire schema into a single file. SchemaKeeper gives each object its own file, so changed objects show up as changed files in git status . - Built-in drift detection. schemakeeper verify compares a live database against the committed dump and prints unified diffs. Installation Requirements - PHP = 7.4 - ext-pdo + ext-pdo pgsql - PostgreSQL 10+ Composer PHAR Note: Examples below use schemakeeper as the command name. Replace with vendor/bin/schemakeeper or ./schemakeeper.phar depending on your installation method. ","default_branch":null,"files":null,"tree":[],"storefront":"/r/dmytro-demchyna","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/dmytro-demchyna/schema-keeper/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}