LPDI · SGC (eventos) · Migración de datos históricos

Análisis previo a la carga — no se ha cargado nada

Lectura del archivo BACKUP BASE DE DATOS EVENTOS 12-FEB-2026 - AJUSTADO.xlsx cruzada contra el esquema real de la tabla eventos (51 columnas) y los catálogos del FE. Con las decisiones de abajo armo el plan de carga reversible.

2 576eventos a migrar
23 → 51columnas Excel → campos
222posibles duplicados
3 816celdas "N/A" a limpiar
8eventos en la BD hoy

1 · Mapeo columna del Excel → campo de la tabla

Columna ExcelCampo eventosTratamiento (según tus indicaciones)
Correo / Nombre del contactocontact_email · contact_first_name/last_nameInformativo, no crea usuario (ind. 1). 98–99% vacío.
Nombre del eventonombreDirecto. 100% lleno.
Tipo de eventomodalidadPresencial→presencial, Online→online, "Híbrido o Dual"→hibrido por defecto (ind. 2). 26 vacíos→hibrido.
Organizador principalorganizadores_raw[]{nombre, rol}. Infiero varios donde se pueda (ind. 3). Sin entityId (no son entidades del sistema).
Fecha inicio / fin · Hora inicio / fin · Zona horariahorarios[] {fecha, hora_inicio, hora_fin} · zona_horariaHora vacía→08:00 / 17:00 (ind. 5); inicio sin fin→+1h (ind. 6). Zona "UTC -5:00"→formato IANA del sistema, inferida de país/ciudad; sin data→default GMT-5 (ind. 4). 64% sin zona.
País · Estado · Ciudad · Direcciónpais_code · estado_provincia · ciudad · ubicacion_textoPaís (nombre)→código. 7% sin país/ciudad.
Temática centraltematicas[] {categoria, subcategoria}Infiero las categorías del FE (ind. 7). 477 variantes, con dos separadores mezclados ("," y "|"). Ver sugerencia S2.
Actividades a desarrollar 1 · 2 · 3actividades[] {categoria, subcategoria}Las trato como una sola columna y mapeo a las actividades del FE (ind. 8). Muy vacías (Act.1 82% vacío).
Conferencistas / Speakershosts_speakers[] {nombres, apellidos, perfil}Extraigo nombre y apellido, depuro el cargo, y separo varios speakers de una misma celda (ind. 9). 63% vacío.
Costo de inscripcióncosto_inscripcion (enum de 4)Normalizo las 8 variantes (mayúsculas/espacios) a los 4 valores del sistema. Vacío→sin costo + requiere registro (ind. 10).
Link registro · Link evento · Más infolink_registro · link_evento · mas_informacionLink de registro vacío→tomo el de "Más información" (ind. 11).
— fijos de esta carga —status · approved_by · approved_at · es_pruebaAPPROVED; aprobado por LPDI VC (info@lapuntadeliceberg.co, ya existe); fecha a definir (P4); es_prueba=false (ind. 12 y 13).

2 · Calidad de los datos (lo que obliga a inferir)

ColumnaCompletitudObservación
Nombre · Fechas · Temática · Costo 100%Sin vacíos.
Tipo de evento · Organizador 99%Casi completo.
Zona horaria 36%64% a inferir de ubicación / default.
Conferencistas 37%63% sin speakers.
Actividades (1) 18%Muy escaso; muchos "N/A".
Marcadores de vacío: el archivo usa "N/A" (3 797 celdas), "n.d." y "N.D." como equivalentes a vacío. Los normalizo todos a vacío antes de cargar.

3 · Preguntas que necesito resueltas antes de cargar

P1 · Zona horaria por defecto. Cuando no puedo inferirla de país/ciudad y tu indicación 4 dice GMT-5, ¿qué zona uso en formato del sistema?
Recomiendo America/Bogota (Colombia). Alternativa: America/Lima.
P2 · Costo "Sí" y "No". "Sí" (582)→tiene costo. "No" (26) es ambiguo.
Recomiendo "No"→entrada libre con registro previo (igual que "No informa", ind. 10). Confírmame.
P3 · Actividad por defecto. El 82% no trae actividad clara. ¿Dejo esos eventos sin actividad, o asigno una por defecto?
Recomiendo asignar Conferencia cuando no haya dato, para que el evento no quede vacío en el directorio.
P4 · Fecha de aprobación. Tu duda de la indicación 12.
Recomiendo la fecha de inicio del evento, no "hoy": son históricos y "aprobado hoy" un evento de 2024 rompe el orden cronológico. Aprobado por LPDI VC (ya confirmé que existe).
P5 · Duplicados. Hay 222 eventos con mismo nombre + misma fecha de inicio (algunos repetidos 3 veces). ¿Los deduplico o los cargo tal cual?
Recomiendo deduplicar dejando 1 por (nombre + fecha + organizador). Te paso la lista de los que quitaría para tu visto bueno.
P6 · Código de evento. Los eventos del sistema llevan codigo_unico/evento_codigo. ¿Genero uno para los históricos (p. ej. prefijo H-migración) o los dejo sin código?
P7 · Responsable y visibilidad. ¿Asigno a LPDI VC como responsable de todos, y los quiero visibles en el directorio público (status APPROVED/publicado) o solo cargados sin publicar?

4 · Sugerencias

S1 · Carga reversible y por lotes. Son 2 576 registros a producción y no hay respaldo punto-en-tiempo. Los cargo con una marca de lote para poder revertir en bloque, y hago primero una prueba con ~20 eventos para que valides cómo se ven en el sistema antes de correr el resto.
S2 · Mapeo de temáticas para tu visto bueno. Las 477 variantes de temática las traduzco a los códigos del FE con un diccionario. Es el punto más subjetivo, así que te paso ese diccionario (los ~40 temas que cubren el 90% del archivo) para que lo apruebes antes de cargar.
S3 · Nada toca la estructura del sistema. Confirmado: solo inserto filas en eventos con los catálogos y la lógica actuales (ind. 13). No creo campos, enums ni usuarios.

Análisis generado el 4 de agosto de 2026 · No se ha insertado ningún registro · A la espera de tus respuestas para armar el plan de carga.