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".

Informations de source

Dépôt
Buleje/Mercado
Dernière activité de la source
12 avril 2026 à 06:45
Langue détectée de SKILL.md
espagnol
Étoiles
0
Forks
0

Options d'installation

Le prompt qui vérifie d'abord la source est sélectionné par défaut. Vous pouvez passer à une commande directe ou télécharger une copie locale.

Vérifiez les fichiers source

Lisez SKILL.md et les fichiers associés affichés par SkillsMP avant de décider de l'installer.

Affichage de SKILL.md

SKILL.md
Instructions source · Aperçu en lecture seule
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
Voir sur GitHub