You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
orquestrador/app/db/mock_database.py

32 lines
890 B
Python

from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker, declarative_base
from app.core.settings import settings
if settings.mock_db_cloud_sql_connection_name:
# Cloud SQL MySQL via Unix socket
MOCK_DATABASE_URL = (
f"mysql+pymysql://{settings.mock_db_user}:{settings.mock_db_password}@/{settings.mock_db_name}"
f"?unix_socket=/cloudsql/{settings.mock_db_cloud_sql_connection_name}"
)
else:
MOCK_DATABASE_URL = (
f"mysql+pymysql://{settings.mock_db_user}:{settings.mock_db_password}@"
f"{settings.mock_db_host}:{settings.mock_db_port}/{settings.mock_db_name}"
)
mock_engine = create_engine(
MOCK_DATABASE_URL,
pool_pre_ping=True,
connect_args={"connect_timeout": 5},
)
SessionMockLocal = sessionmaker(
autocommit=False,
autoflush=False,
bind=mock_engine,
)
MockBase = declarative_base()