El proceso de sincronización de tablas entre el superdiccionario y la BBDD se ejecuta en pasos independientes, a grosos modo:
Se borran todas las vistas que utilizan la tabla que se va a sincronizar.
Se elimina la tabla
Se recrea la tabla
Se crean todas las restricciones
Se recrean las vistas
El problema es que si al crear las restricciones, los datos existentes son incompatibles con ellas, el proceso se detiene sin recrear la vistas eliminadas previamente.
Esto hace que cualquier proceso, formulario, report o BO que use estas vistas falle de inmediato.
Dependiendo de lo bien diseñado que estén los procesos y ya sabemos que esto en Ekon es cuestionable, se pueden producir inconsistencias en la base de datos, corrupción de datos o incoherencias entre tablas.
El proceso de sincronización debería tener un mecanismo que devolviera la BBDD al estado anterior a la sincronización, idealmente utilizando transacciones y si no es posible mediante script de retorno a la situación anterior.