Dos vistas presentes en DEV y ausentes del schema commiteado: medir si existen en PROD
Regenerar drizzle/schema.ts contra DEV (dd0cc537, 2026-09-07) AGREGO dos vistas que no estaban en el schema commiteado: git grep -c devuelve 0 en dd0cc537~1 y 2 en dd0cc537. - rutap.v_export_estado_actual (39 columnas de salida) - public.v_vehiculos_historial_mas_items (vehiculo_id, dominio, items_historial) Ninguna tiene que ver con MOVILBA-313; aparecieron porque la regeneracion anterior es previa a ellas o no las tomo. Drizzle estaba SUB-describiendo DEV. Riesgo: schema.ts se genera contra DEV y es el contrato tipado contra el que compila la app. Si alguna de las dos es solo-DEV, el codigo escrito contra ella COMPILA LIMPIO y falla en runtime en PROD - misma forma que una_vista_de_prod_con_menos_columnas_que_drizzle_es_un_500, un nivel mas grueso (falta la relacion entera, no una columna). Medicion pedida a db02, SELECT-only, una conexion REAL por entorno como el rol de runtime (movilba_user en DEV, svc_nextjs en PROD, nunca SET ROLE): 1. to_regclass de las dos en los dos entornos. 2. Donde no sea NULL, array_agg(attname ORDER BY attnum) de pg_attribute (attnum>0 AND NOT attisdropped) - por NOMBRE, jamas posicional, para que una vista presente-pero-distinta no se lea como acuerdo. 3. Donde no sea NULL en PROD, has_table_privilege del rol de runtime. Se reportan los PARES DE VALORES, no un veredicto. Si falta en PROD, coder02 decide el port; NO se crea nada.
Activity
-
Cerrado como hallazgo LATENTE con arreglo documental, no como defecto vivo. Ninguna de las dos vistas tiene importadores en origin/dev (medido sobre src, tools, scripts y docs, por los dos simbolos camelCase y los dos nombres SQL), asi que no hubo ni hay 500 en ejecucion. Lo que quedo: docs/migrations/pending-prod-changes.md en e75f5e20, con los cuatro valores de to_regclass, el control de pg_class en todos los esquemas que descarta el artefacto de calificacion, los dos arrays ordenados de attname de DEV, la regla operativa de que nadie importa esos dos simbolos hasta que existan en PROD, y las precondiciones de un eventual port. NO se anoto drizzle/schema.ts a proposito: lo genera introspect.sh y el comentario lo borra la proxima regeneracion en silencio. Una nota que una herramienta borra decae en falsa seguridad. Recomendacion registrada: la vista de 3 columnas NO es candidata a port -el inventario la declara solo-DEV-. La de 39 columnas, si alguna vez se porta, va con artefacto propio, GO fresco y especifico, auditoria pre-apply, y aceptacion por array ordenado de attname con IS DISTINCT FROM, jamas por conteo. Clase reusable guardada en memoria: schema_ts se genera solo contra DEV, asi que la deriva falla de dos maneras OPUESTAS segun de que lado este el adelanto.