Skip to content
Back to skills

Database Migration Checklist

ASecurity

Use when performing database migration checklist — database migration safety checklist covering pre-migration validation, backup verification, compatibility checks, migration execution, data validation, rollback procedures, and post-migration monitoring. Use for schema changes, engine migrations, or data platform transitions.

  • 6 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 8, 2026
databasesgosqlrailstestinggitdatabaseperformancedocumentation

Security analysis

A100/100

Scanned September 8, 2026

npx -y skills add cloudthinker-ai/CloudSkills --skill database-migration-checklist --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Database Migration Checklist?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Database Migration Checklist
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/cloudthinker-ai-database-migration-checklist/badge)](https://www.skillsdirectory.com/skills/cloudthinker-ai-database-migration-checklist)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: database-migration-checklist
enabled: true
description: |
  Use when performing database migration checklist — database migration safety
  checklist covering pre-migration validation, backup verification,
  compatibility checks, migration execution, data validation, rollback
  procedures, and post-migration monitoring. Use for schema changes, engine
  migrations, or data platform transitions.
required_connections:
  - prefix: github
    label: "GitHub (for migration scripts)"
config_fields:
  - key: source_db
    label: "Source Database"
    required: true
    placeholder: "e.g., PostgreSQL 14 (prod-db-1)"
  - key: target_db
    label: "Target Database"
    required: true
    placeholder: "e.g., PostgreSQL 16 (prod-db-2)"
  - key: migration_type
    label: "Migration Type"
    required: true
    placeholder: "e.g., schema-change, engine-upgrade, platform-migration"
features:
  - DATABASE
  - DEPLOYMENT
---

# Database Migration Checklist Skill

Execute a safe database migration from **{{ source_db }}** to **{{ target_db }}** ({{ migration_type }}).

## Workflow

### Step 1 — Migration Assessment

```
MIGRATION SCOPE
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Source: {{ source_db }}
Target: {{ target_db }}
Type: {{ migration_type }}

[ ] Database size documented: ___ GB
[ ] Number of tables/collections: ___
[ ] Active connections (peak): ___
[ ] Write throughput (peak): ___ ops/sec
[ ] Estimated migration duration: ___
[ ] Maintenance window required: YES / NO
[ ] Zero-downtime migration possible: YES / NO
```

### Step 2 — Pre-Migration Checklist

```
PRE-MIGRATION
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
BACKUP & RECOVERY
[ ] Full backup taken and verified (test restore)
[ ] Point-in-time recovery confirmed working
[ ] Backup stored in separate region/account
[ ] Backup retention extended for migration window

COMPATIBILITY
[ ] Schema compatibility verified on target
[ ] Data type compatibility checked (edge cases: dates, JSON, arrays)
[ ] Character encoding confirmed (UTF-8 consistency)
[ ] Stored procedures / functions compatible with target
[ ] Views and materialized views compatible
[ ] Triggers and constraints reviewed
[ ] Extensions / plugins available on target
[ ] Application ORM compatibility tested

TESTING
[ ] Migration script tested on staging with production-size data
[ ] Application tested against target database version
[ ] Performance benchmarks captured on staging
[ ] Query plan analysis on critical queries (no regressions)
[ ] Connection string changes tested in application config
```

### Step 3 — Migration Execution Plan

```
EXECUTION PLAN
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
T-24h:
  [ ] Final staging test pass confirmed
  [ ] Notify stakeholders of migration window
  [ ] Verify monitoring dashboards ready
  [ ] Pre-create target database infrastructure

T-1h:
  [ ] Take fresh backup of source database
  [ ] Verify backup integrity
  [ ] Reduce application traffic (if applicable)
  [ ] Pause non-critical batch jobs and crons

T-0 (Migration Start):
  [ ] Enable maintenance mode (if downtime required)
  [ ] Stop writes to source (if not live migration)
  [ ] Record current WAL/binlog position
  [ ] Execute migration script / start replication
  [ ] Monitor migration progress

During Migration:
  [ ] Track replication lag (if live migration)
  [ ] Monitor source database load
  [ ] Monitor target database health
  [ ] Log any errors or warnings
```

### Step 4 — Data Validation

```
DATA VALIDATION
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[ ] Row counts match: source vs target (per table)
[ ] Checksum validation on critical tables
[ ] Spot-check recent records (last 1000 rows)
[ ] Verify auto-increment / sequence values
[ ] Validate foreign key relationships intact
[ ] Check indexes exist and are valid on target
[ ] Verify constraints (unique, check, not-null) on target
[ ] Test critical queries return identical results
[ ] Verify data in special columns (JSON, arrays, bytea)
```

### Step 5 — Cutover

```
CUTOVER STEPS
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[ ] Final replication caught up (lag = 0)
[ ] Stop writes to source database
[ ] Verify final data consistency
[ ] Update application connection strings to target
[ ] Deploy application with new connection config
[ ] Verify application health checks pass
[ ] Verify read and write operations work
[ ] Disable maintenance mode
[ ] Monitor error rates for 30 minutes
```

### Step 6 — Rollback Procedure

```
ROLLBACK PLAN
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Rollback window: [X hours after cutover]
Rollback trigger: [error rate >X%, latency >Xms, data corruption]

Steps:
1. [ ] Revert application connection strings to source
2. [ ] Deploy application with original config
3. [ ] Verify source database is current (apply delta if needed)
4. [ ] Confirm application healthy against source
5. [ ] Investigate failure cause before retry
6. [ ] Document what went wrong
```

### Step 7 — Post-Migration

```
POST-MIGRATION
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Immediate (0-24h):
[ ] Monitor query performance (no regressions)
[ ] Monitor connection pool utilization
[ ] Monitor replication (if applicable)
[ ] Verify backup schedule running on target
[ ] Verify monitoring alerts configured for target

Short-term (1-7 days):
[ ] Decommission source database (after safe period)
[ ] Update documentation and runbooks
[ ] Update infrastructure-as-code
[ ] Remove old connection strings and credentials
[ ] Close migration tracking ticket
```

## Counter-Rationalizations

| Shortcut | Counter | Why |
|----------|---------|-----|
| "We can skip some steps for this case" | Adapt the workflow steps, don't skip them | Skipped steps are where incidents and oversights originate |
| "The user seems to already know what to do" | Complete all workflow phases with the user | The workflow catches blind spots that experience alone misses |
| "This is a minor case, full process is overkill" | Scale the process down, don't turn it off | Minor cases become major when unstructured; the process scales, not disappears |
| "I'll fill in the details later" | Complete each section before moving on | Deferred details are forgotten; real-time capture is more accurate |
| "The template output isn't necessary" | Always produce the structured output format | Structured output enables comparison, audit trails, and handoff to other teams |

## Output Format

Produce a migration execution report with:
1. **Migration summary** (source, target, type, size, duration)
2. **Pre-migration checklist** results with PASS/FAIL
3. **Execution log** with timestamps for each step
4. **Data validation** results with row counts and checksums
5. **Post-migration** monitoring observations
6. **Issues encountered** and resolutions

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

View all in databases →

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.