You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1.0 KiB

Cómo añadir una migración

Contexto

  • Migraciones up-only con checksum estático y función up(db).

Pasos

  1. Crear migración

    • Edita src/db/migrations/index.ts y añade una entrada Migration con:
      • version (número incremental),
      • name (descriptivo),
      • checksum (string calculado una vez),
      • up: (db) => { ... } con SQL idempotente cuando sea posible (usa helpers como tableHasColumn).
  2. SQL y convenciones

    • Timestamps como 'YYYY-MM-DD HH:MM:SS[.mmm]' con strftime.
    • FOREIGN KEYs explícitas y PRAGMA foreign_keys = ON.
    • Usa ON CONFLICT para upserts cuando aplique.
  3. Pruebas

    • En un test, crea const memdb = new Database(':memory:') y ejecuta initializeDatabase(memdb).
    • Valida que la tabla/columna existe y que el esquema es el esperado.
  4. Despliegue

    • El arranque (server.start) invoca Migrator.migrateToLatest. No necesitas pasos manuales.

Notas

  • No hay “down”; si necesitas revertir, crea una nueva migración correctiva.
  • Evita cambios destructivos sin plan de migración de datos.