From garage
Use when creating or reviewing database migrations - Liquibase or Flyway, new tables, columns, indexes, constraints, backfills, or any DDL against Postgres.
How this skill is triggered — by the user, by Claude, or both
Slash command
/garage:migrationsThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
These defaults apply to service-owned schemas. Third-party and provider-managed schemas keep their
These defaults apply to service-owned schemas. Third-party and provider-managed schemas keep their own versioned contract.
BIGINT app-generated TSID, with UUIDv7 as a separate public identifier. Do not retrofit upstream package schemas or expose storage keys.NUMERIC(precision, scale) derived from the supported currency or asset contract; common two-decimal fiat may use NUMERIC(20,2), but not when the asset set needs another scale. Time: TIMESTAMPTZ for instants.TEXT + CHECK; use a reference table when values evolve independently. Avoid native Postgres enums when rolling change is required.ENABLE, normally FORCE ROW LEVEL SECURITY, and a policy based on the correctly typed current_setting('app.tenant_id', true) value.<scope>-<NNN>-<description>.sql (Liquibase, established services) / timestamp versions (Flyway, newer services; avoids merge conflicts). Match what the repo already uses. Greenfield (unreleased) repos: edit the existing changeset instead of stacking history.CREATE INDEX CONCURRENTLY in its own changeset with transactions off (runInTransaction:false Liquibase / executeInTransaction=false Flyway); it cannot run inside a transaction block.NOT VALID, then VALIDATE CONSTRAINT.DROP, TRUNCATE, column removal) require explicit user confirmation and a documented rollback story.Prefer a resumable application job for complex or long backfills. A PostgreSQL DO loop with per-batch commits is valid only when the exact runner executes it at top level outside a transaction: Liquibase puts runInTransaction:false on the --changeset line; Flyway uses executeInTransaction=false in script configuration. Irreversible changes have no fake rollback and must state restore or forward-fix steps. Pattern: references/backfill-pattern.md.
Fresh-container run must apply cleanly from scratch; rollback tested where reversible; ledger-table changes also satisfy the ledger skill invariants.
npx claudepluginhub omexit/claude-skills-pack --plugin garageBuild zero-downtime database migrations — forward SQL, rollback SQL, deployment sequence. Use when asked to "write migration", "schema change", "add column", "rename table", "drop column", or "migrate safely".
Generates zero-downtime database migrations with forward SQL, rollback SQL, and deployment sequences for schema changes like adding columns, renaming tables, or dropping columns.
Creates, validates, executes, and rolls back schema migrations for PostgreSQL, MySQL, MongoDB using Flyway, Alembic, Prisma, Knex.