Uecko_ERP/docs/customer-invoices/sql/README.md
david 78bb02f9b0 feat: Implement Sequelize mappers and repository for Proforma V2
- Added SequelizeProformaV2RecipientDomainMapper for mapping recipient data to domain model.
- Introduced SequelizeProformaV2TaxesDomainMapper for handling tax data mapping.
- Created SequelizeProformaV2RecipientSummaryMapper for summarizing recipient information.
- Developed SequelizeProformaV2SummaryMapper for mapping Proforma summary data.
- Implemented SequelizeProformaRepositoryV2 for managing Proforma data persistence.
- Added SequelizeProformaV2NumberGenerator for generating Proforma numbers.
2026-07-10 13:59:44 +02:00

50 lines
1.5 KiB
Markdown

# SQL Customer Invoices
## Fase 1D
Archivos de esta fase:
- `dev-split-proformas-issued-invoices.sql`
- `validate-split-proformas-issued-invoices.sql`
## Orden recomendado en desarrollo
1. Verificar que la BD objetivo es inequívocamente de desarrollo.
2. Hacer backup o confirmar que los datos son descartables.
3. Ejecutar `dev-split-proformas-issued-invoices.sql`.
4. Ejecutar `validate-split-proformas-issued-invoices.sql`.
5. Levantar backend V2 y validar flujos funcionales.
## Propiedades del script de desarrollo
- Crea tablas con `CREATE TABLE IF NOT EXISTS`.
- Añade `verifactu_records.issued_invoice_id` con `ALTER TABLE ... ADD COLUMN IF NOT EXISTS`.
- Conserva UUIDs legacy.
- No borra ni modifica datos legacy.
- Usa `NOT EXISTS` para evitar duplicados en reejecuciones.
- No usa `INSERT IGNORE`.
## Cuándo no ejecutar
No ejecutar si:
- no existe una configuración de desarrollo clara
- hay duda sobre si la BD es producción
- no existe backup verificable
- el entorno no tiene aún las credenciales/localización confirmadas
## Procedimiento preliminar de producción
No ejecutar todavía. Referencia operativa:
1. Backup verificado.
2. Ventana de mantenimiento.
3. Bloquear escrituras del backend.
4. Ejecutar create tables / columnas transicionales.
5. Ejecutar backfill idempotente y conservador.
6. Ejecutar validaciones SQL.
7. Desplegar backend con wiring V2.
8. Monitorizar errores y métricas.
9. Mantener legacy congelado para rollback y auditoría.
10. Ejecutar rollback según punto de corte si alguna validación falla.