feat: comando dedup_documents para duplicados legados (T2025-09-004)
Limpia documentos duplicados (misma sub-entidad + mismo document_type) creados ANTES del fix de reemplazo del microservicio (jun-2026). Conserva el mas reciente con archivo valido en storage, borra el resto (archivo MinIO si no lo referencia otra fila + fila + ajuste de cuota). --dry-run, conteo previo, idempotente; solo docs ligados a entidad (partida/cove/edocument). La creacion ya reemplaza desde jun-2026: verificado 0 duplicados posteriores al fix. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -19,6 +19,12 @@ tipo, repos afectados, qué se hizo y por qué. Reglas del flujo en `../CLAUDE.m
|
||||
`document_type` + nombre de archivo en toda ruta de creación (incluida la ingesta del
|
||||
microservicio); set explícito de la FK en `create_vu_record`.
|
||||
- Comando `backfill_document_links` para poblar la FK en filas existentes (idempotente).
|
||||
- Comando `dedup_documents` para limpiar documentos duplicados legados (misma entidad +
|
||||
mismo tipo): conserva el más reciente con archivo válido en storage, borra el resto
|
||||
(archivo MinIO si no lo referencia otra fila + fila + ajuste de cuota), `--dry-run`,
|
||||
conteo previo, idempotente. Los duplicados eran **pre-fix**: la descarga ya reemplaza
|
||||
en vez de re-crear desde jun-2026 (microservicio, `post_or_update_document`), verificado
|
||||
con 0 duplicados creados después del fix. Solo aplica a docs ligados a entidad.
|
||||
- Lectura, descarga y borrado SIEMPRE por la FK (id), nunca por nombre. El nombre solo
|
||||
ESTABLECE la FK (en `Document.save()` para altas y en el backfill para filas viejas).
|
||||
- **Por qué:** retirar el matching frágil por nombre de archivo (`icontains`/prefijo, que
|
||||
|
||||
Reference in New Issue
Block a user