Files
leo-claude-mktplace/plugins/saas-db-migrate/commands/db-migrate-rollback.md
lmiranda 2d51df7a42 feat(marketplace): command consolidation + 8 new plugins (v8.1.0 → v9.0.0) [BREAKING]
Phase 1b: Rename all ~94 commands across 12 plugins to /<noun> <action>
sub-command pattern. Git-flow consolidated from 8→5 commands (commit
variants absorbed into --push/--merge/--sync flags). Dispatch files,
name: frontmatter, and cross-reference updates for all plugins.

Phase 2: Design documents for 8 new plugins in docs/designs/.

Phase 3: Scaffold 8 new plugins — saas-api-platform, saas-db-migrate,
saas-react-platform, saas-test-pilot, data-seed, ops-release-manager,
ops-deploy-pipeline, debug-mcp. Each with plugin.json, commands, agents,
skills, README, and claude-md-integration. Marketplace grows from 12→20.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-06 14:52:11 -05:00

3.9 KiB

name, description, agent
name description agent
db-migrate rollback Generate rollback migration for a previously applied migration migration-planner

/db-migrate rollback - Rollback Generator

Skills to Load

  • skills/rollback-patterns.md
  • skills/visual-header.md

Visual Output

Display header: DB-MIGRATE - Rollback

Usage

/db-migrate rollback [<migration>] [--steps=<n>] [--dry-run]

Arguments:

  • <migration>: Specific migration to roll back to (exclusive — rolls back everything after it)
  • --steps: Number of migrations to roll back from current head (default: 1)
  • --dry-run: Show what would be rolled back without generating files

Prerequisites

Run /db-migrate setup first. Target migrations must have rollback/downgrade operations defined.

Process

1. Identify Rollback Target

Determine which migrations to reverse:

  • If <migration> specified: roll back all migrations applied after it
  • If --steps=N: roll back the last N applied migrations
  • Default: roll back the single most recent migration

2. Check Rollback Feasibility

For each migration to roll back, verify:

Check Result Action
Downgrade function exists Yes Proceed
Downgrade function exists No FAIL: Cannot auto-rollback; manual intervention needed
Migration contains DROP TABLE N/A WARN: Data cannot be restored by rollback
Migration contains data changes N/A WARN: DML changes may not be fully reversible
Later migrations depend on this Yes Must roll back dependents first

3. Generate Rollback

Depending on the tool:

Alembic:

  • Generate alembic downgrade <target_revision> command
  • Show the downgrade SQL that will execute
  • If downgrade function is incomplete, generate supplementary migration

Prisma:

  • Generate rollback migration SQL based on diff
  • Create new migration directory with rollback operations

Raw SQL:

  • Generate new numbered migration file with reverse operations
  • Include transaction wrapping and safety checks

4. Data Recovery Plan

If rolled-back migrations included destructive operations:

  • Recommend backup restoration for lost data
  • Suggest data export before rollback
  • Identify tables/columns that will be recreated empty

5. Present Rollback Plan

Show the complete rollback strategy with warnings.

Output Format

+----------------------------------------------------------------------+
|  DB-MIGRATE - Rollback                                               |
+----------------------------------------------------------------------+

Mode: Roll back 2 steps
Tool: Alembic

ROLLBACK PLAN

Step 1: Undo migration_008_add_status_to_orders
  Operations:
    [-] DROP CONSTRAINT valid_status
    [-] DROP COLUMN orders.status
  Data Impact: Column data will be lost (12,450 rows)
  Reversible: Partially (column recreated empty on re-apply)

Step 2: Undo migration_007_add_order_items
  Operations:
    [-] DROP TABLE order_items
  Data Impact: Table and all data will be lost (3,200 rows)
  Reversible: Partially (table recreated empty on re-apply)

WARNINGS
  [!] 2 operations will cause data loss
  [!] Back up affected tables before proceeding

COMMANDS TO EXECUTE
  alembic downgrade -2
  # Or: alembic downgrade migration_006_add_orders_table

Generated Files:
  (No new files — Alembic uses existing downgrade functions)

RECOMMENDED PRE-ROLLBACK STEPS
  1. pg_dump --table=order_items myapp > order_items_backup.sql
  2. pg_dump --table=orders --column-inserts myapp > orders_status_backup.sql
  3. Review downgrade SQL with /db-migrate plan --include-rollback

Important Notes

  • Rollback does NOT execute migrations; it generates the plan and/or files
  • Always back up data before rolling back destructive migrations
  • Some migrations are irreversible (data-only changes without backup)
  • Use --dry-run to preview without creating any files
  • After rollback, verify application compatibility with the older schema