schema-migration-planner

Plan zero-downtime database schema migrations for Kotlin and Spring systems.

14|1|Updated Mar 6, 2026
One-click install
npx skills add https://github.com/kbrgnj/kotlin-backend-agent-skills --skill schema-migration-planner-kbrgnj
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: schema-migration-planner
Source: https://github.com/kbrgnj/kotlin-backend-agent-skills/tree/main/.agents/skills/schema-migration-planner
Command: npx skills add https://github.com/kbrgnj/kotlin-backend-agent-skills --skill schema-migration-planner-kbrgnj

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Plan safe database schema evolution and zero-downtime change rollout for Kotlin plus Spring systems using Flyway, Liquibase, or equivalent migration tooling. Use when changing tables, columns, constraints, indexes, or data shape in systems with live traffic, rolling deploys, large datasets, or backward-compatibility requirements between old and new application versions.

Core Features & Use Cases

  • Phased migration planning: design multi-step rollout with compatibility layers and backfills.
  • Coexistence and rollback readiness: ensure old and new schemas and code paths run in parallel with explicit rollback conditions.
  • Observability and risk awareness: define checks, metrics, and validation points to minimize downtime and surprises.
  • Use Case: When evolving a user table schema during a live deployment, guide the migration with staged backfills and dual-write patterns.

Quick Start

Describe the current schema, target changes, and rollout window to plan a zero-downtime migration.

Frequently Asked Questions about schema-migration-planner

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I plan zero-downtime database schema migrations for a live Spring system?

Use an additive-then-remove pattern with dual-write compatibility and staged backfills to plan zero-downtime schema migrations. This separates data-shape changes from constraint additions, ensuring old and new application versions run safely in parallel during rolling deploys.

What is the additive-then-remove pattern for database evolution?

The additive-then-remove pattern for database evolution means adding new schema elements first, updating application code to use them, and only removing deprecated structures after traffic fully shifts. This guarantees backward compatibility between old and new schemas.

Can I use Flyway or Liquibase for zero-downtime schema changes with Kotlin?

Yes, Flyway and Liquibase are supported tooling for planning zero-downtime schema changes in Kotlin plus Spring systems. The approach enforces deterministic, idempotent migration steps to handle table, column, and index modifications safely during live deployments.

How do I handle data backfills during a live database migration?

Handle data backfills during live database migration by separating backfill steps from schema changes in the rollout plan. This involves running staged backfills alongside dual-write patterns to ensure data consistency without locking tables or interrupting live traffic.

When do I need dual-write compatibility for schema migrations?

You need dual-write compatibility for schema migrations when changing tables, columns, or data shape in systems with live traffic and varying deployment speeds. It ensures both old and new code paths can write simultaneously, maintaining rollback readiness throughout the rollout.

What are the limitations of zero-downtime schema migrations for large datasets?

Zero-downtime schema migrations for large datasets require careful separation of backfills and constraint additions to avoid table locks. You must define explicit rollback conditions and validation metrics, as massive data-shape changes can still cause latency spikes if not staged deterministically.