Diagnóstico y fix SQL Server: SERVERNAME, TDS_Version, Puerto explicitos
This commit is contained in:
@@ -4,22 +4,21 @@ FROM python:3.10-slim
|
||||
ENV PYTHONDONTWRITEBYTECODE=1
|
||||
ENV PYTHONUNBUFFERED=1
|
||||
|
||||
# Instalar dependencias del sistema requeridas para pyodbc y msodbcsql
|
||||
# Instalar dependencias del sistema requeridas para pyodbc y FreeTDS
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
build-essential \
|
||||
curl \
|
||||
gnupg \
|
||||
gcc \
|
||||
g++ \
|
||||
unixodbc \
|
||||
unixodbc-dev \
|
||||
freetds-bin \
|
||||
freetds-dev \
|
||||
tdsodbc \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Agregar la firma de Microsoft y el repositorio correspondiente a la versión de Debian instalada
|
||||
RUN curl -fsSL https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor -o /usr/share/keyrings/microsoft-prod.gpg \
|
||||
&& . /etc/os-release \
|
||||
&& curl -fsSL https://packages.microsoft.com/config/debian/$VERSION_ID/prod.list > /etc/apt/sources.list.d/mssql-release.list \
|
||||
&& apt-get update \
|
||||
&& ACCEPT_EULA=Y apt-get install -y --no-install-recommends msodbcsql17 \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
# Configurar FreeTDS globalmente con versión TDS 7.3 y charset UTF-8
|
||||
RUN mkdir -p /etc/freetds && echo "[global]\n\ttds version = 7.3\n\tclient charset = UTF-8\n" > /etc/freetds/freetds.conf
|
||||
|
||||
# Establecer directorio de trabajo
|
||||
WORKDIR /app
|
||||
|
||||
@@ -44,10 +44,22 @@ class DataManager:
|
||||
|
||||
def sql_conn(self):
|
||||
import pyodbc
|
||||
conn_str = (
|
||||
f"DRIVER={self.sql_driver};SERVER={self.sql_server};"
|
||||
f"DATABASE={self.sql_db};UID={self.sql_user};PWD={self.sql_pass}"
|
||||
)
|
||||
if "FreeTDS" in self.sql_driver:
|
||||
conn_str = (
|
||||
f"DRIVER={self.sql_driver};"
|
||||
f"SERVER={self.sql_server};"
|
||||
f"PORT=1433;"
|
||||
f"DATABASE={self.sql_db};"
|
||||
f"UID={self.sql_user};"
|
||||
f"PWD={self.sql_pass};"
|
||||
f"TDS_Version=7.3;"
|
||||
f"ClientCharset=UTF-8;"
|
||||
)
|
||||
else:
|
||||
conn_str = (
|
||||
f"DRIVER={self.sql_driver};SERVER={self.sql_server};"
|
||||
f"DATABASE={self.sql_db};UID={self.sql_user};PWD={self.sql_pass}"
|
||||
)
|
||||
return pyodbc.connect(conn_str)
|
||||
|
||||
# ── Config de campañas (GitHub, opcional) ───────────────────
|
||||
|
||||
@@ -139,10 +139,22 @@ class DataManager:
|
||||
|
||||
def sql_conn(self):
|
||||
import pyodbc
|
||||
conn_str = (
|
||||
f"DRIVER={self.sql_driver};SERVER={self.sql_server};"
|
||||
f"DATABASE={self.sql_db};UID={self.sql_user};PWD={self.sql_pass}"
|
||||
)
|
||||
if "FreeTDS" in self.sql_driver:
|
||||
conn_str = (
|
||||
f"DRIVER={self.sql_driver};"
|
||||
f"SERVER={self.sql_server};"
|
||||
f"PORT=1433;"
|
||||
f"DATABASE={self.sql_db};"
|
||||
f"UID={self.sql_user};"
|
||||
f"PWD={self.sql_pass};"
|
||||
f"TDS_Version=7.3;"
|
||||
f"ClientCharset=UTF-8;"
|
||||
)
|
||||
else:
|
||||
conn_str = (
|
||||
f"DRIVER={self.sql_driver};SERVER={self.sql_server};"
|
||||
f"DATABASE={self.sql_db};UID={self.sql_user};PWD={self.sql_pass}"
|
||||
)
|
||||
return pyodbc.connect(conn_str)
|
||||
|
||||
# ── CHATWOOT: leads de pauta (mapa de campañas, dedup por mensaje) ──
|
||||
|
||||
@@ -19,8 +19,8 @@ services:
|
||||
- SQL_DATABASE=${SQL_DATABASE}
|
||||
- SQL_USERNAME=${SQL_USERNAME}
|
||||
- SQL_PASSWORD=${SQL_PASSWORD}
|
||||
# En el contenedor Docker usaremos el driver oficial de Linux
|
||||
- SQL_DRIVER=${SQL_DRIVER:-{ODBC Driver 17 for SQL Server}}
|
||||
# En el contenedor Docker usaremos FreeTDS o el driver configurado en el entorno
|
||||
- SQL_DRIVER=${SQL_DRIVER:-{FreeTDS}}
|
||||
- GITHUB_BASE=${GITHUB_BASE}
|
||||
- SUPABASE_URL=${SUPABASE_URL}
|
||||
- SUPABASE_KEY=${SUPABASE_KEY}
|
||||
@@ -40,7 +40,7 @@ services:
|
||||
context: ./frontend
|
||||
dockerfile: Dockerfile
|
||||
args:
|
||||
- VITE_API_URL=${VITE_API_URL}
|
||||
- VITE_API_URL=https://api-leads.escueladerefrigeracion.lat
|
||||
container_name: leads-frontend
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
|
||||
Reference in New Issue
Block a user