Loading...
Loading...
Database version control and change management patterns. Use when managing schema history, coordinating database changes across environments, implementing audit trails, or versioning database objects.
npx skill4agent add yonatangross/orchestkit database-versioningCREATE TABLE schema_version (
version_id SERIAL PRIMARY KEY,
version_number VARCHAR(20) NOT NULL,
description TEXT NOT NULL,
applied_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
applied_by VARCHAR(100),
execution_time_ms INTEGER,
checksum VARCHAR(64),
CONSTRAINT uq_version_number UNIQUE (version_number)
);MAJOR.MINOR.PATCH
MAJOR: Breaking changes (drop tables, rename columns)
MINOR: Backward-compatible additions (new tables, nullable columns)
PATCH: Bug fixes, index changes, data migrations| Practice | Reason |
|---|---|
| Version everything | Full traceability |
| Immutable history | Audit compliance |
| Test rollbacks | Ensure recoverability |
| Environment parity | Consistent deployments |
| Checksum verification | Detect unauthorized changes |
# NEVER modify deployed migrations - create new migration instead
# NEVER delete migration history
command.stamp(alembic_config, "head") # Loses history
# NEVER skip environments
# Always: local -> CI -> staging -> production
# NEVER version sensitive data in migrations
op.bulk_insert(users, [{"password": "secret"}]) # Security risk!alembic-migrationsdatabase-schema-designerzero-downtime-migration