diff --git a/omega_miya/database/database.py b/omega_miya/database/database.py
index 0aef223f..b902a55a 100644
--- a/omega_miya/database/database.py
+++ b/omega_miya/database/database.py
@@ -1,4 +1,5 @@
import nonebot
+from urllib.parse import quote
from sqlalchemy.ext.asyncio import AsyncSession
from sqlalchemy.ext.asyncio import create_async_engine
from sqlalchemy.future import select
@@ -18,7 +19,7 @@
__DB_NAME = global_config.db_name
# 格式化数据库引擎链接
-__DB_ENGINE = f'{__DATABASE}+{__DB_DRIVER}://{__DB_USER}:{__DB_PASSWORD}@{__DB_HOST}:{__DB_PORT}/{__DB_NAME}'
+__DB_ENGINE = f'{__DATABASE}+{__DB_DRIVER}://{__DB_USER}:{quote(__DB_PASSWORD)}@{__DB_HOST}:{__DB_PORT}/{__DB_NAME}'
# 创建数据库连接
@@ -28,10 +29,10 @@
connect_args={"use_unicode": True, "charset": "utf8mb4"},
pool_recycle=3600, pool_pre_ping=True, echo=False
)
-except Exception as exp:
+except Exception as e:
import sys
- nonebot.logger.opt(colors=True).critical(f'创建数据库连接失败, error: {repr(exp)}')
- sys.exit('创建数据库连接失败')
+ nonebot.logger.opt(colors=True).critical(f'创建数据库连接失败, error: {repr(e)}')
+ sys.exit(f'创建数据库连接失败, {e}')
# 初始化化数据库
@@ -49,10 +50,10 @@ async def database_init():
# await.
await conn.run_sync(Base.metadata.create_all)
nonebot.logger.opt(colors=True).info(f'数据库初始化已完成.')
- except Exception as e:
+ except Exception as e_:
import sys
- nonebot.logger.opt(colors=True).critical(f'数据库初始化失败, error: {repr(e)}')
- sys.exit('数据库初始化失败')
+ nonebot.logger.opt(colors=True).critical(f'数据库初始化失败, error: {repr(e_)}')
+ sys.exit(f'数据库初始化失败, {e_}')
class BaseDB(object):
@@ -99,8 +100,8 @@ async def list_col(self, col_name) -> Result.ListResult:
for item in session_result.scalars().all():
res.append(item)
result = Result.ListResult(error=False, info='Success', result=res)
- except Exception as e:
- result = Result.ListResult(error=True, info=repr(e), result=res)
+ except Exception as e_:
+ result = Result.ListResult(error=True, info=repr(e_), result=res)
return result
async def list_col_with_condition(self, col_name, condition_col_name, condition) -> Result.ListResult:
@@ -118,8 +119,8 @@ async def list_col_with_condition(self, col_name, condition_col_name, condition)
for item in session_result.scalars().all():
res.append(item)
result = Result.ListResult(error=False, info='Success', result=res)
- except Exception as e:
- result = Result.ListResult(error=True, info=repr(e), result=res)
+ except Exception as e_:
+ result = Result.ListResult(error=True, info=repr(e_), result=res)
return result