From 156aaf5af6cad067e2fab9f175f9421bf1c31273 Mon Sep 17 00:00:00 2001 From: zhangtao <9480807882@qq.com> Date: Tue, 9 Dec 2025 23:03:42 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E6=95=B0=E6=8D=AE=E5=BA=93):=20=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E5=AF=B9sqlite=E5=92=8C=E8=BE=BE=E6=A2=A6=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E5=BA=93=E7=9A=84=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 更新环境配置文件和设置类以支持sqlite和达梦数据库 在requirements.txt中添加相关驱动注释 --- backend/app/config/setting.py | 8 ++++++++ backend/env/.env.dev | 2 +- backend/env/.env.prod | 2 +- backend/requirements.txt | 3 +++ 4 files changed, 13 insertions(+), 2 deletions(-) diff --git a/backend/app/config/setting.py b/backend/app/config/setting.py index c9770fb2..3b3be36a 100755 --- a/backend/app/config/setting.py +++ b/backend/app/config/setting.py @@ -196,6 +196,10 @@ class Settings(BaseSettings): return f"mysql+asyncmy://{self.DATABASE_USER}:{quote_plus(self.DATABASE_PASSWORD)}@{self.DATABASE_HOST}:{self.DATABASE_PORT}/{self.DATABASE_NAME}?charset=utf8mb4" elif self.DATABASE_TYPE == "postgres": return f"postgresql+asyncpg://{self.DATABASE_USER}:{quote_plus(self.DATABASE_PASSWORD)}@{self.DATABASE_HOST}:{self.DATABASE_PORT}/{self.DATABASE_NAME}" + elif self.DATABASE_TYPE == "sqlite": + return f"sqlite+aiosqlite:///{self.DATABASE_NAME}" + elif self.DATABASE_TYPE == "dm": + return f"dm+dmPython://{self.DATABASE_USER}:{quote_plus(self.DATABASE_PASSWORD)}@{self.DATABASE_HOST}:{self.DATABASE_PORT}/{self.DATABASE_NAME}" else: raise ValueError(f"数据库驱动不支持: {self.DATABASE_TYPE}, 请选择 请选择 mysql、postgres") @@ -206,6 +210,10 @@ class Settings(BaseSettings): return f"mysql+pymysql://{self.DATABASE_USER}:{quote_plus(self.DATABASE_PASSWORD)}@{self.DATABASE_HOST}:{self.DATABASE_PORT}/{self.DATABASE_NAME}?charset=utf8mb4" elif self.DATABASE_TYPE == "postgres": return f"postgresql+psycopg2://{self.DATABASE_USER}:{quote_plus(self.DATABASE_PASSWORD)}@{self.DATABASE_HOST}:{self.DATABASE_PORT}/{self.DATABASE_NAME}" + elif self.DATABASE_TYPE == "sqlite": + return f"sqlite+pysqlite:///{self.DATABASE_NAME}" + elif self.DATABASE_TYPE == "dm": + return f"dm+dmPython://{self.DATABASE_USER}:{quote_plus(self.DATABASE_PASSWORD)}@{self.DATABASE_HOST}:{self.DATABASE_PORT}/{self.DATABASE_NAME}" else: raise ValueError(f"数据库驱动不支持: {self.DATABASE_TYPE}, 请选择 请选择 mysql、postgres") diff --git a/backend/env/.env.dev b/backend/env/.env.dev index b01783fb..ef2442ce 100644 --- a/backend/env/.env.dev +++ b/backend/env/.env.dev @@ -22,7 +22,7 @@ DESCRIPTION = "该项目是一个基于python的web服务框架,基于fastapi DEMO_ENABLE = False # 数据库配置 -DATABASE_TYPE = "postgres" # mysql、postgres +DATABASE_TYPE = "postgres" # mysql、postgres、[qlite、dm这俩种不支持代码生成] # 数据库配置 DATABASE_HOST = "localhost" diff --git a/backend/env/.env.prod b/backend/env/.env.prod index b7dcdf39..61808e7d 100644 --- a/backend/env/.env.prod +++ b/backend/env/.env.prod @@ -22,7 +22,7 @@ DESCRIPTION = "该项目是一个基于python的web服务框架,基于fastapi DEMO_ENABLE = True # 数据库配置 -DATABASE_TYPE = "mysql" # mysql、postgres +DATABASE_TYPE = "mysql" # mysql、postgres、[qlite、dm这俩种不支持代码生成] # 数据库配置 DATABASE_HOST = "172.18.52.77" diff --git a/backend/requirements.txt b/backend/requirements.txt index 65f6d766..0fcd72c1 100755 --- a/backend/requirements.txt +++ b/backend/requirements.txt @@ -35,6 +35,9 @@ sqlglot[rs]==27.8.0 # sql 解析 pydantic_validation_decorator==0.1.4 # 模型验证 loguru==0.7.3 fastapi-limiter==0.1.6 +# dmPython # 达梦数据库驱动 +# aiosqlite==0.17.0 # sqlite 异步操作数据库 +# motor==3.6.0 # mongodb 驱动 # amqp==5.3.1 # python-socketio==5.14.3 \ No newline at end of file