Variables de entorno
Todas las credenciales y opciones de configuración se gestionan mediante variables de entorno. Nunca hardcodees credenciales en el código fuente.
Variables requeridas
Sección titulada «Variables requeridas»| Variable | Descripción | Ejemplo |
|---|---|---|
MSSQL_SERVER | Hostname o IP del servidor SQL | prod-server.database.windows.net |
MSSQL_DATABASE | Nombre de la base de datos | ProductionDB |
MSSQL_USER | Usuario de SQL Server | app_user |
MSSQL_PASSWORD | Contraseña de SQL Server | (secreto) |
Variables opcionales
Sección titulada «Variables opcionales»| Variable | Default | Descripción |
|---|---|---|
MSSQL_PORT | 1433 | Puerto de SQL Server |
DEVELOPER_MODE | false | true para desarrollo (TLS relajado, errores detallados) |
MSSQL_READ_ONLY | false | Bloquea operaciones de escritura |
MSSQL_WHITELIST_TABLES | (vacío) | Tablas permitidas para modificación en modo read-only |
MSSQL_AUTH | sql | Modo de autenticación: sql, integrated, azure |
MSSQL_ENCRYPT | (auto) | Control de cifrado TLS. Solo efectivo con DEVELOPER_MODE=true. false = desactivar cifrado (necesario para SQL Server 2008/2012). Si no se define: false en dev, siempre true en producción |
MSSQL_CONNECTION_STRING | (vacío) | Connection string personalizado (anula otras variables) |
Plantilla .env
Sección titulada «Plantilla .env»# Copiar y editarcp .env.example .env
# Ejemplo de contenidoMSSQL_SERVER=localhostMSSQL_DATABASE=MyDBMSSQL_USER=saMSSQL_PASSWORD=YourPassword123MSSQL_PORT=1433DEVELOPER_MODE=trueMSSQL_READ_ONLY=falseCargar variables
Sección titulada «Cargar variables»Linux/macOS:
source .envWindows PowerShell:
Get-Content .env | ForEach-Object { $name, $value = $_ -split '=', 2 [Environment]::SetEnvironmentVariable($name, $value)}Permisos de archivo
Sección titulada «Permisos de archivo»# Linux/macOSchmod 600 .env
# Windowsicacls .env /inheritance:r /grant:r "%USERNAME%:R"