database-versioning

Database Versioning Patterns

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "database-versioning" with this command: npx skills add yonatangross/orchestkit/yonatangross-orchestkit-database-versioning

Database Versioning Patterns

Version control strategies for database schemas and data across environments.

Overview

  • Tracking schema changes over time

  • Coordinating database changes across dev/staging/prod

  • Implementing database audit trails

  • Managing stored procedures and functions

  • Versioning reference data

Schema Versioning Table

CREATE 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) );

Semantic Versioning for Databases

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

Detailed Guides

  • Audit trails: See references/audit-trails.md for row versioning, temporal tables, CDC

  • Environment coordination: See references/environment-coordination.md for multi-env flows, locks

  • Object versioning: See references/object-versioning.md for procedures, views, reference data

  • Migration testing: See references/migration-testing.md for pytest patterns

Best Practices

Practice Reason

Version everything Full traceability

Immutable history Audit compliance

Test rollbacks Ensure recoverability

Environment parity Consistent deployments

Checksum verification Detect unauthorized changes

Anti-Patterns

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!

Capability Details

schema-versioning

Keywords: schema version, database version, migration history Solves: Track schema changes, version history

temporal-queries

Keywords: temporal, point-in-time, history query Solves: Query historical data, time-travel queries

change-tracking

Keywords: cdc, change data capture, audit log Solves: Track all changes, audit compliance

environment-sync

Keywords: environment sync, migration coordination Solves: Sync across environments, coordinate deployments

Related Skills

  • alembic-migrations

  • Migration implementation

  • database-schema-designer

  • Schema design

  • zero-downtime-migration

  • Safe production changes

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

responsive-patterns

No summary provided by upstream source.

Repository SourceNeeds Review
General

domain-driven-design

No summary provided by upstream source.

Repository SourceNeeds Review
General

dashboard-patterns

No summary provided by upstream source.

Repository SourceNeeds Review