Base de datos
PostgreSQL en Abhackus
PostgreSQL es la fuente de verdad del proyecto: usuarios, perfiles, contabilidad, auditoría de aprobaciones,
adjuntos con integridad y configuración operativa viven ahí de forma transaccional.
Qué es y por qué importa
- Motor relacional robusto con consistencia ACID para operaciones contables.
- Permite consultas auditables y reportes confiables por período/estado.
- Escala bien para múltiples módulos activos (REST, CLI, TUI, web).
- Soporta migraciones versionadas para evolucionar el modelo sin perder trazabilidad.
Cómo se usa en este proyecto
- Conexión principal vía `DATABASE_URL` en backend REST y procesos operativos.
- Migraciones SQL en `abhackus-dborm/migrations` para schema y cambios evolutivos.
- Namespace `ops` para objetos operacionales (proyectos, adjuntos, notificaciones, etc.).
- Las aprobaciones y rechazos quedan registrados con actor, razón y timestamp UTC.
Conexión recomendada
Usar parámetros genéricos y secretos fuera del repositorio.
export PGHOST=127.0.0.1
export PGPORT=5432
export PGUSER=app_user
export PGPASSWORD=app_password
export PGDATABASE=abhackus
export DATABASE_URL="postgres://$PGUSER:$PGPASSWORD@$PGHOST:$PGPORT/$PGDATABASE"
# Aplicar migraciones
make migrate
Relevancia para gobierno y comunidad
Un modelo relacional bien definido permite transparencia: cualquier cambio importante queda trazable,
reproducible y verificable por admins y comunidad técnica.