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
1.0 KiB
Cómo añadir una migración
Contexto
- Migraciones up-only con checksum estático y función
up(db).
Pasos
-
Crear migración
- Edita src/db/migrations/index.ts y añade una entrada
Migrationcon:- version (número incremental),
- name (descriptivo),
- checksum (string calculado una vez),
- up: (db) => { ... } con SQL idempotente cuando sea posible (usa helpers como tableHasColumn).
- Edita src/db/migrations/index.ts y añade una entrada
-
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 CONFLICTpara upserts cuando aplique.
-
Pruebas
- En un test, crea
const memdb = new Database(':memory:')y ejecutainitializeDatabase(memdb). - Valida que la tabla/columna existe y que el esquema es el esperado.
- En un test, crea
-
Despliegue
- El arranque (
server.start) invocaMigrator.migrateToLatest. No necesitas pasos manuales.
- El arranque (
Notas
- No hay “down”; si necesitas revertir, crea una nueva migración correctiva.
- Evita cambios destructivos sin plan de migración de datos.