Scavengr usa archivos .env para almacenar credenciales de base de datos.
# Crear configuración local
scavengr init
# Crear configuración global
scavengr init --global
# Copiar ejemplo
cp .env.example .env
# O crear desde cero
cat > .env << EOF
DB_TYPE=postgresql
DB_HOST=localhost
DB_PORT=5432
DB_NAME=mi_base_datos
DB_USER=usuario_lectura
DB_PASSWORD=contraseña_segura
EOF
Scavengr busca configuración en este orden:
--env-file mi-config.env.env.local → .env~/.scavengr.envexport DB_TYPE=postgresql| Parámetro | Descripción | Ejemplo |
|---|---|---|
DB_TYPE |
Tipo de motor | postgresql |
DB_HOST |
Host del servidor | localhost |
DB_NAME |
Nombre de la base de datos | mi_base_datos |
DB_USER |
Usuario de BD | usuario_lectura |
DB_PASSWORD |
Contraseña | contraseña_segura |
| Parámetro | Descripción | Valor por Defecto |
|---|---|---|
DB_PORT |
Puerto del servidor | 5432 (PostgreSQL) |
DB_DRIVER |
Driver ODBC (solo SQL Server) | SQL Server |
DB_SCHEMA |
Esquema específico (PostgreSQL) | public |
DB_TYPE=postgresql
DB_HOST=localhost
DB_PORT=5432
DB_NAME=mi_db
DB_USER=postgres
DB_PASSWORD=secret
DB_SCHEMA=public # Opcional
DB_TYPE=mysql
DB_HOST=localhost
DB_PORT=3306
DB_NAME=mi_db
DB_USER=root
DB_PASSWORD=secret
DB_TYPE=mssql
DB_HOST=localhost
DB_PORT=1433
DB_NAME=mi_db
DB_USER=sa
DB_PASSWORD=secret
DB_DRIVER="SQL Server" # Opcional
!!! warning “Protección de Credenciales”
- NO versiones archivos .env (ya está en .gitignore)
- Usa permisos restrictivos: chmod 600 .env (Linux/Mac)
- Considera variables de entorno en producción
!!! info “Permisos de BD” Scavengr solo necesita permisos de lectura en vistas del sistema:
- PostgreSQL: `information_schema`, `pg_catalog`
- MySQL: `information_schema`
- SQL Server: `VIEW DEFINITION` o `db_datareader`
# Crear configuración por proyecto
scavengr init # .env local
# Usar configuración específica
scavengr extract --env-file prod.env -o schema-prod.dbml
scavengr extract --env-file dev.env -o schema-dev.dbml
# Verificar ubicación
ls -la .env
# Crear configuración
scavengr init
.env# Test conexión (PostgreSQL)
psql -h localhost -U usuario_lectura -d mi_db
# Test conexión (MySQL)
mysql -h localhost -u root -p mi_db