添加Unix socket连接方法

This commit is contained in:
雅诺狐
2025-08-14 16:37:54 +08:00
parent 9b49c20614
commit c38be26bbb

View File

@@ -489,11 +489,22 @@ def get_database_url():
encoded_user = quote_plus(config.mysql_user) encoded_user = quote_plus(config.mysql_user)
encoded_password = quote_plus(config.mysql_password) encoded_password = quote_plus(config.mysql_password)
return ( # 检查是否配置了Unix socket连接
f"mysql+pymysql://{encoded_user}:{encoded_password}" if config.mysql_unix_socket:
f"@{config.mysql_host}:{config.mysql_port}/{config.mysql_database}" # 使用Unix socket连接
f"?charset={config.mysql_charset}" encoded_socket = quote_plus(config.mysql_unix_socket)
) return (
f"mysql+pymysql://{encoded_user}:{encoded_password}"
f"@/{config.mysql_database}"
f"?unix_socket={encoded_socket}&charset={config.mysql_charset}"
)
else:
# 使用标准TCP连接
return (
f"mysql+pymysql://{encoded_user}:{encoded_password}"
f"@{config.mysql_host}:{config.mysql_port}/{config.mysql_database}"
f"?charset={config.mysql_charset}"
)
else: # SQLite else: # SQLite
# 如果是相对路径,则相对于项目根目录 # 如果是相对路径,则相对于项目根目录
if not os.path.isabs(config.sqlite_path): if not os.path.isabs(config.sqlite_path):