- Updated proforma listing behavior to utilize `Criteria filters[]` for managing archived and active proformas. - Removed `archived` query parameter from backend; frontend now manages `archiveView` state. - Implemented new filters for `archived_at` and `status` in the proforma listing API. - Adjusted proforma creation and deletion contracts to reflect changes in archiving logic. - Introduced new utility functions for building proforma listing criteria based on UI state. - Updated frontend components to support new filtering options and maintain state in the URL. - Added SQL index for improved performance on proforma queries. - Created new TypeScript types for managing proforma list filters and criteria. |
||
|---|---|---|
| .. | ||
| add-proforma-archive-columns.sql | ||
| add-proforma-document-series-columns.sql | ||
| add-proforma-list-indexes.sql | ||
| add-proforma-tax-config-columns.sql | ||
| dev-split-proformas-issued-invoices.sql | ||
| fix-proforma-series-semantics.sql | ||
| README.md | ||
| validate-proforma-archive.sql | ||
| validate-proforma-soft-delete.sql | ||
| validate-proforma-tax-config.sql | ||
| validate-split-proformas-issued-invoices.sql | ||
SQL Customer Invoices
Estado
Este directorio mezcla SQL vigentes de soporte con SQL historicos/transicionales.
SQL vigentes
add-proforma-document-series-columns.sqladd-proforma-tax-config-columns.sqlfix-proforma-series-semantics.sqlvalidate-proforma-tax-config.sqlvalidate-proforma-soft-delete.sql
SQL históricos / transicionales
dev-split-proformas-issued-invoices.sqlvalidate-split-proformas-issued-invoices.sql
Estos archivos no deben tratarse como el camino normal de entornos nuevos salvo que exista un escenario legacy concreto que los requiera.
Orden recomendado en desarrollo para el estado vigente
- Verificar que la BD objetivo es inequívocamente de desarrollo.
- Hacer backup o confirmar que los datos son descartables.
- Ejecutar el DDL vigente que falte para
proformas. - Ejecutar las validaciones SQL vigentes.
- Levantar backend V2 y validar flujos funcionales.
Propiedades de los scripts históricos de split
- Crea tablas con
CREATE TABLE IF NOT EXISTS. - Añade
verifactu_records.issued_invoice_idconALTER TABLE ... ADD COLUMN IF NOT EXISTS. - Conserva UUIDs legacy.
- No borra ni modifica datos legacy.
- Usa
NOT EXISTSpara 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:
- Backup verificado.
- Ventana de mantenimiento.
- Bloquear escrituras del backend.
- Ejecutar create tables / columnas transicionales.
- Ejecutar backfill idempotente y conservador.
- Ejecutar validaciones SQL.
- Desplegar backend con wiring V2.
- Monitorizar errores y métricas.
- Mantener legacy congelado para rollback y auditoría.
- Ejecutar rollback según punto de corte si alguna validación falla.