Files
dtic-DIIAA/docs/configuracion_bd.md

62 lines
2.3 KiB
Markdown

# 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
```