Skip to main content

db-restore

Restaura la base de datos desde un backup previo generado por el hook pre-deploy-db-snapshot. Lista backups disponibles y permite restaurar a un timestamp específico. Usar cuando Brandon diga "restaura la DB", "rollback DB", "db restore", "volvé la base", "recover database".

Quellinformationen

Repository
Buleje/Mercado
Letzte Quellaktivität
12. April 2026 um 06:45
Erkannte Sprache von SKILL.md
Spanisch
Sterne
0
Forks
0

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
db-restore
description
Restaura la base de datos desde un backup previo generado por el hook pre-deploy-db-snapshot. Lista backups disponibles y permite restaurar a un timestamp específico. Usar cuando Brandon diga "restaura la DB", "rollback DB", "db restore", "volvé la base", "recover database".
disable-model-invocation
false
user-invocable
true
allowed-tools
Bash, Read, Grep, Glob
argument-hint
[list | latest | YYYY-MM-DD-HHMMSS]
model
sonnet
# DB Restore — Restauración de base de datos desde backup ## ADVERTENCIA Este skill toca datos de producción. Requiere DIRECT_URL (no pooler). **Siempre confirmar con Brandon antes de restaurar en producción.** ## Subcomandos ### `/db-restore list` ```bash # Listar backups disponibles (locales) ls -la backups/db/ 2>/dev/null | grep ".sql.gz" # Listar backups en Supabase Storage (si configurado) # supabase storage ls bodega-backups/ 2>/dev/null ``` Output: ``` | # | Fecha | Tamaño | Schema hash | Tipo | |---|---|---|---|---| | 1 | 2026-04-10 03:00 | 45MB | abc123 | pre-deploy | | 2 | 2026-04-09 15:30 | 44MB | def456 | pre-migrate | | 3 | 2026-04-07 03:00 | 42MB | ghi789 | weekly | ``` ### `/db-restore latest` ``` 1. Identificar el backup más reciente 2. Mostrar metadata: fecha, tamaño, schema hash 3. Confirmar con Brandon (EXCEPCIÓN a regla de no preguntar — esto es irreversible) 4. Si confirma: a. Crear backup del estado ACTUAL antes de restaurar b. Ejecutar pg_restore con DIRECT_URL c. Verificar que las tablas tienen datos d. Correr prisma validate e. Reportar resultado ``` ### `/db-restore [timestamp]` Igual que latest pero con un backup específico. ## Proceso de restauración ```bash # 1. Backup del estado actual (safety net) pg_dump "$DIRECT_URL" --format=custom --compress=6 \ -f "backups/db/pre-restore-$(date +%Y%m%d-%H%M%S).sql.gz" # 2. Restaurar desde backup seleccionado pg_restore --clean --if-exists -d "$DIRECT_URL" \ "backups/db/[archivo-seleccionado].sql.gz" # 3. Verificar npx prisma validate npx prisma db pull --force 2>/dev/null # verificar schema match # 4. Smoke test curl -s https://mercado.vercel.app/api/health ``` ## Retención de backups | Tipo | Frecuencia | Retención | |---|---|---| | pre-deploy | Cada deploy | Últimos 30 | | pre-migrate | Cada `prisma migrate` | Últimos 30 | | weekly | Domingos 3 AM | 1 año | | pre-restore | Antes de cada restore | Últimos 10 | ## Reglas 1. **SIEMPRE crear backup del estado actual antes de restaurar.** 2. **SIEMPRE verificar con prisma validate después de restaurar.** 3. **Restaurar en producción REQUIERE confirmación explícita de Brandon.** 4. **En dev/staging → restaurar sin confirmación.** 5. **Si el restore falla → restaurar el pre-restore backup automáticamente.** ## Referencia - Hook: `pre-deploy-db-snapshot.mjs` — genera los backups - Regla CLAUDE.md: nunca `prisma migrate deploy` sin backup previo - Memoria: `reference_prisma_pgbouncer_workaround.md` — usar DIRECT_URL para dumps
Auf GitHub ansehen