def connect_db()

in sql-proxy/app.py [0:0]


def connect_db():

    # Helper for different database types
    sock_ext = ""
    socket_name = "unix_socket"
    if db_type == "postgres":
        sock_ext = f"/.s.PGSQL.{db_port}"
        socket_name = "unix_sock"
        drivername = "postgresql+pg8000"
    elif db_type == "mysql":
        drivername = "mysql+pymysql"
    elif db_type == "mssql":
        drivername = "mssql+pytds"
    else:
        raise ValueError("Unknown database type provided.")

    if db_host and db_port:
        settings = {"host": db_host, "port": db_port}
    elif db_socket_dir and db_sql_connection:
        settings = {
            "query": {socket_name: f"{db_socket_dir}/{db_sql_connection}{sock_ext}"}
        }
    else:
        raise ValueError("No Socket/Dir nor Host/Port provided.")

    db = sqlalchemy.create_engine(
        sqlalchemy.engine.url.URL.create(
            drivername=drivername,
            username=db_user,
            password=db_pass,
            database=db_name,
            **settings,
        )
    )
    return db