From 62b132208b9331bfaf8b7283df4a70be1699fec7 Mon Sep 17 00:00:00 2001 From: jesonliao Date: Thu, 3 Jul 2025 22:23:47 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E5=BA=93=E5=AF=86=E7=A0=81=E4=B8=AD=E5=8C=85=E5=90=AB=E7=89=B9?= =?UTF-8?q?=E6=AE=8A=E5=AD=97=E7=AC=A6=E4=B8=B2=E6=97=B6=E7=9A=84=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/database/connection.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/app/database/connection.py b/app/database/connection.py index a962503..2a088d5 100644 --- a/app/database/connection.py +++ b/app/database/connection.py @@ -2,6 +2,7 @@ 数据库连接池模块 """ from pathlib import Path +from urllib.parse import quote_plus from databases import Database from sqlalchemy import create_engine, MetaData from sqlalchemy.ext.declarative import declarative_base @@ -20,9 +21,9 @@ if settings.DATABASE_TYPE == "sqlite": DATABASE_URL = f"sqlite:///{db_path}" elif settings.DATABASE_TYPE == "mysql": if settings.MYSQL_SOCKET: - DATABASE_URL = f"mysql+pymysql://{settings.MYSQL_USER}:{settings.MYSQL_PASSWORD}@/{settings.MYSQL_DATABASE}?unix_socket={settings.MYSQL_SOCKET}" + DATABASE_URL = f"mysql+pymysql://{settings.MYSQL_USER}:{quote_plus(settings.MYSQL_PASSWORD)}@/{settings.MYSQL_DATABASE}?unix_socket={settings.MYSQL_SOCKET}" else: - DATABASE_URL = f"mysql+pymysql://{settings.MYSQL_USER}:{settings.MYSQL_PASSWORD}@{settings.MYSQL_HOST}:{settings.MYSQL_PORT}/{settings.MYSQL_DATABASE}" + DATABASE_URL = f"mysql+pymysql://{settings.MYSQL_USER}:{quote_plus(settings.MYSQL_PASSWORD)}@{settings.MYSQL_HOST}:{settings.MYSQL_PORT}/{settings.MYSQL_DATABASE}" else: raise ValueError("Unsupported database type. Please set DATABASE_TYPE to 'sqlite' or 'mysql'.")