Lección 18 de 20· M09

Hechas: 0/20(0%)

M09L18Semana 5~5 h

Ficha M09

L18 — Migraciones versionadas

~5.0 h · Semana 5

El esquema es código. Si no está en git con orden, no existe.

Objetivo

Dejar migrations/ reproducible: 001 + 002 (y notas de 003 para L19).

Pasos

1. Elige convención (30 min)

Ya tienes numeración 001_, 002_. Documenta en migrations/README.md si más adelante usarás dbmate/flyway/prisma — no hace falta migrar la herramienta hoy.

2. Verifica idempotencia razonable (60 min)

Reaplicar 001 no debe destruir datos (usamos IF NOT EXISTS). Prueba en una DB temporal o anota el riesgo.

3. Simula máquina limpia (90 min)

docker compose down -v   # ¡borra volumen local de evidencia!
docker compose up -d
# aplicar 001, 002, seeds

Solo si puedes recrear seeds después. Si no quieres borrar, usa otro POSTGRES_DB / compose project name.

4. README “desde cero” (45 min)

Lista ordenada de comandos en el README principal.

5. Commit (15 min)

git commit -am "docs(m09): migraciones versionadas reproducibles"

Lectura de esta lección

Fuente Qué leer Enlace
Fundamentos de BD — Elmasri & Navathe (ed. ES) Práctica: migraciones en git; opcional herramienta (dbmate/flyway/prisma) Tutorial PostgreSQL
Catálogo Entrada de esta materia Bibliografía · M09

Hecho cuando

Marca la lección solo si:

  1. Al menos dos migraciones numeradas en git.
  2. README explica cómo aplicarlas en orden en máquina limpia.
  3. Commit si faltaba documentación.

Errores comunes

  • Cambiar 001_init.sql ya aplicado en prod/compañero sin nueva migración.
  • Migraciones solo en la cabeza / en un GUI.
  • Orden no determinista de archivos.

Siguiente

L19 — Least privilege (P3)

←→