# Guía de Instalación y Configuración del Sistema ADN-BD **Módulo:** Integración `dtic-BITACORAs` Esta guía describe cómo implementar el backend de la base de datos `dtic-BITACORAs` y conectarlo adecuadamente a las herramientas del ADN del repositorio `srv-ns8`. ## 1. Requerimientos Previos - **Docker** y **Docker-Compose** - **Ruby 3.x** - Gema **pg** instalada localmente (necesita `libpq-dev` en Linux). ## 2. Levantando el Entorno PostgreSQL La persistencia de nuestras bitácoras vive dentro de un contenedor dedicado. 1. Navega hasta el directorio del sub-módulo (u origen docker-compose): ```bash cd dtic-BITACORAs ``` 2. Inicializa el stack en segundo plano: ```bash docker-compose up -d ``` 3. El contenedor expone por defecto PostgreSQL en el **puerto 5433** (del host). Revisa la salud del contenedor: ```bash docker ps | grep postgres ``` ## 3. Configuración de Credenciales CLI (`tools/config/database.yml`) Las herramientas ADN alojadas en `adn/tools/run` delegaron su configuración al archivo maestro que se sitúa en `tools/config/database.yml`. > [!IMPORTANT] > El entorno de `development` se define por defecto e interactúa en el puerto `5433` usando credenciales locales (`dtic_user` / `dtic_pass_2026`). Si el servidor experimentara una reconfiguración de credenciales de producción, asegúrate de exportar las variables globales **antes de ejecutar comandos de ADN**: ```bash export DB_HOST=localhost export DB_PORT=5432 export DB_NAME=dtic_bitacoras_prod export DB_USER=produccion export DB_PASSWORD=*** ``` Inmediatamente, la CLI redirigirá los accesos al nodo principal configurado. ## 4. Validando la Conexión Bidireccional La mejor forma de testear que todo se ha inicializado y configurado correctamente es utilizando el Reporte de Salud de la BD proporcionado por la consola ADN: ```bash ./adn/tools/run db salud:bd ``` Si recibes el siguiente dictamen, el sistema funciona correctamente: `✅ Conexión a PostgreSQL establecida` ## 5. Pruebas Unitarias Integradas (Minitest) Si estás desarrollando nuevas funcionalidades o has migrado el esquema, ejecuta el paquete `bitacora_db_test.rb` incluido para validar CRUD sin ensuciar la base de datos final. El sistema de tests encapsula todo el script dentro de comandos `BEGIN` / `ROLLBACK`. ```bash ruby adn/tools/spec/bitacora_db_test.rb ```