Sesion 6
Dia: 31/05/25
Hora de inicio: 14:04
Hora de fin: 16:04
Cantidad de horas trabajadas: 2 horas
Problemas encontrados:
-
Al reejecutar el script de inicialización en la base remota (CloudClusters), no se eliminaban algunas tablas porque faltaban sentencias
DROP TABLE IF EXISTSprevias, lo que provocaba errores de “objeto ya existe”. -
En el script Python de carga (
CargadorCatalogos), la ruta relativa acatalogos.xmlera incorrecta cuando se lanzaba desde un directorio distinto, generandoFileNotFoundError. -
El método
get_local_ip()devolvía siempre127.0.0.1, por lo que todos los registros de auditoría tenían la misma IP, dificultando el rastreo real de origen.
Cómo fueron resueltos:
-
DROP TABLE previos
-
Añadí
IF OBJECT_ID(...,'U') IS NOT NULL DROP TABLE ...;justo antes de cadaCREATE TABLEen el script DDL, asegurando un arranque limpio en cada ejecución.
-
-
Ruta de XML en Python
-
Incorporé al inicio del script:
de modo que siempre se cargara
catalogos.xmldesde la carpeta del script.
-
-
IP real en auditoría
-
Mejoré
get_local_ip()para forzar la detección mediante un socket UDP a 8.8.8.8, devolviendo la IP real de la interfaz activa en lugar de127.0.0.1.
-
Dudas:
-
¿Es seguro almacenar la IP real del servidor en la columna
PostIn, o conviene anonimizarla por privacidad?
Forma que se trabajó:
-
De manera asincrónica:
Problemas de la instalación del software:
-
NONE
Problemas de aprendizaje del software:
-
Comprender el alcance de
os.chdir()y su efecto en rutas relativas en Python.
Investigaciones:
-
StackOverflow: “Python get local IP address reliably”
-
Docs de Microsoft: “IF OBJECT_ID and DROP TABLE patterns”
Prueba de concepto:
-
En un pipeline de CI configurado contra la base de CloudClusters:
-
Ejecuté el DDL completo sin errores.
-
Lancé
python3 cargador_catalogos.pyy confirmé quecatalogos.xmlse parseaba correctamente. -
Verifiqué en la tabla
EventLogquePostInreflejaba la IP real de la máquina de CI.
-
Comments
Post a Comment