Las migraciones del repositorio no llevan la base de datos al contrato actual:
La única migración, apps/api/migrations/app/20260928T1910_init, va de una base vacía al esquema a6d994c8…. Ese esquema no tiene cash_register_session, cash_movement ni operating_day.
El contrato actual (src/prisma/contract.json, storageHash) y la referencia de la base (migrations/app/refs/db.json) están en b5e61e3b…, que sí incluye esas tablas.
No hay ninguna migración de a6d994c8… a b5e61e3b…. Lo más probable es que los cambios se aplicaran con prisma db update, que según la documentación de Prisma 8 aplica el cambio sin escribir directorio de migración.
Qué estamos pagando hoy
Una base nueva (otra computadora, staging, producción) creada con db migrate queda sin caja ni día de operación, y el sistema falla al abrir caja o día.
No hay historial de cómo llegó la base al estado actual, así que no se puede revisar ni revertir el cambio.
Arreglo propuesto
Confirmar el diagnóstico con npx prisma migration status desde apps/api
Generar la migración faltante con prisma migration plan --from a6d994c8… y revisarla
Probar db migrate contra una base vacía y verificar que el esquema resultante coincida con el contrato
Documentar en el README que los cambios de contrato se aplican con migration plan + db migrate, y que db update es solo para la base local
Techo de esta ronda
Solo poner al día las migraciones y documentar el flujo. Fuera: validar en CI que el contrato y las migraciones estén sincronizados (#7).
Superficie
Contrato Prisma (apps/api/src/prisma)
Módulos
Base de datos / contrato Prisma, Caja / sesiones de caja, Día de operación, CI / infra
Esfuerzo
S — un PR chico
Riesgo de no tocarlo
Alto (seguridad, datos, o bloquea el próximo corte)
### Qué es la deuda
Las migraciones del repositorio no llevan la base de datos al contrato actual:
- La única migración, `apps/api/migrations/app/20260928T1910_init`, va de una base vacía al esquema `a6d994c8…`. Ese esquema **no** tiene `cash_register_session`, `cash_movement` ni `operating_day`.
- El contrato actual (`src/prisma/contract.json`, `storageHash`) y la referencia de la base (`migrations/app/refs/db.json`) están en `b5e61e3b…`, que sí incluye esas tablas.
- No hay ninguna migración de `a6d994c8…` a `b5e61e3b…`. Lo más probable es que los cambios se aplicaran con `prisma db update`, que según la documentación de Prisma 8 aplica el cambio sin escribir directorio de migración.
### Qué estamos pagando hoy
- Una base nueva (otra computadora, staging, producción) creada con `db migrate` queda sin caja ni día de operación, y el sistema falla al abrir caja o día.
- No hay historial de cómo llegó la base al estado actual, así que no se puede revisar ni revertir el cambio.
### Arreglo propuesto
- [ ] Confirmar el diagnóstico con `npx prisma migration status` desde `apps/api`
- [ ] Generar la migración faltante con `prisma migration plan --from a6d994c8…` y revisarla
- [ ] Probar `db migrate` contra una base vacía y verificar que el esquema resultante coincida con el contrato
- [ ] Documentar en el README que los cambios de contrato se aplican con `migration plan` + `db migrate`, y que `db update` es solo para la base local
### Techo de esta ronda
Solo poner al día las migraciones y documentar el flujo. Fuera: validar en CI que el contrato y las migraciones estén sincronizados (#7).
### Superficie
Contrato Prisma (apps/api/src/prisma)
### Módulos
Base de datos / contrato Prisma, Caja / sesiones de caja, Día de operación, CI / infra
### Esfuerzo
S — un PR chico
### Riesgo de no tocarlo
Alto (seguridad, datos, o bloquea el próximo corte)
Miguel
was assigned by Carlos2026-10-02 20:05:18 +00:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Qué es la deuda
Las migraciones del repositorio no llevan la base de datos al contrato actual:
apps/api/migrations/app/20260928T1910_init, va de una base vacía al esquemaa6d994c8…. Ese esquema no tienecash_register_session,cash_movementnioperating_day.src/prisma/contract.json,storageHash) y la referencia de la base (migrations/app/refs/db.json) están enb5e61e3b…, que sí incluye esas tablas.a6d994c8…ab5e61e3b…. Lo más probable es que los cambios se aplicaran conprisma db update, que según la documentación de Prisma 8 aplica el cambio sin escribir directorio de migración.Qué estamos pagando hoy
db migratequeda sin caja ni día de operación, y el sistema falla al abrir caja o día.Arreglo propuesto
npx prisma migration statusdesdeapps/apiprisma migration plan --from a6d994c8…y revisarladb migratecontra una base vacía y verificar que el esquema resultante coincida con el contratomigration plan+db migrate, y quedb updatees solo para la base localTecho de esta ronda
Solo poner al día las migraciones y documentar el flujo. Fuera: validar en CI que el contrato y las migraciones estén sincronizados (#7).
Superficie
Contrato Prisma (apps/api/src/prisma)
Módulos
Base de datos / contrato Prisma, Caja / sesiones de caja, Día de operación, CI / infra
Esfuerzo
S — un PR chico
Riesgo de no tocarlo
Alto (seguridad, datos, o bloquea el próximo corte)