47 lines
1.4 KiB
Markdown
47 lines
1.4 KiB
Markdown
# DH Inspección V2 — Fase A1
|
|
|
|
## Alcance implementado
|
|
|
|
- entidades TypeORM para usuarios, roles, permisos, sesiones y auditoría;
|
|
- cinco migraciones controladas e independientes de `synchronize`;
|
|
- seed idempotente de roles, permisos y matriz inicial;
|
|
- grants explícitos y default privileges para `dhv2_app`;
|
|
- repositorios base para A2, A4 y A5;
|
|
- servicio Docker temporal para ejecutar migraciones como owner.
|
|
|
|
No se agregaron endpoints públicos ni autenticación incompleta. El único
|
|
endpoint disponible continúa siendo `/api/v3/health`.
|
|
|
|
## Migraciones
|
|
|
|
1. `PhaseAUsersRolesPermissions1786548000000`
|
|
2. `PhaseAAuthSessions1786548001000`
|
|
3. `PhaseAAuditEvents1786548002000`
|
|
4. `PhaseASeedRolesPermissions1786548003000`
|
|
5. `PhaseARuntimeGrants1786548004000`
|
|
|
|
## Ejecución
|
|
|
|
```bash
|
|
docker compose --profile tools build api migrate
|
|
docker compose up -d db
|
|
docker compose --profile tools run --rm migrate
|
|
docker compose up -d --no-deps api
|
|
```
|
|
|
|
## Verificación
|
|
|
|
```bash
|
|
docker compose --profile tools run --rm migrate npm run migration:show
|
|
docker compose ps
|
|
curl -fsS http://127.0.0.1:3101/api/v3/health
|
|
```
|
|
|
|
El resultado esperado de `migration:show` es `Pending migrations: no`.
|
|
|
|
## Reversión inmediata
|
|
|
|
`migration:revert` revierte una sola migración por ejecución. Sólo debe usarse
|
|
antes de crear usuarios o sesiones reales. Si ya existe actividad, restaurar el
|
|
backup previo en lugar de ejecutar reversiones parciales.
|