Uecko_ERP/docs/customer-invoices/sql
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
..
dev-split-proformas-issued-invoices.sql feat: Implement Sequelize mappers and repository for Proforma V2 2026-07-10 13:59:44 +02:00
README.md feat: Implement Sequelize mappers and repository for Proforma V2 2026-07-10 13:59:44 +02:00
validate-split-proformas-issued-invoices.sql feat: Implement Sequelize mappers and repository for Proforma V2 2026-07-10 13:59:44 +02:00

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.