3v324v23 commited on
Commit
b643537
·
1 Parent(s): 4ff58b3

chore: change DB to SQLite for Hugging Face Space deployment

Browse files
Files changed (3) hide show
  1. Dockerfile +2 -2
  2. packages/core/database.py +9 -4
  3. requirements.txt +1 -0
Dockerfile CHANGED
@@ -15,8 +15,8 @@ COPY . .
15
  # 暴露端口
16
  EXPOSE 8000
17
 
18
- # 设置环境变量,使用容器内的数据库地址
19
- ENV DATABASE_URL="postgresql+asyncpg://postgres:postgres@db:5432/customs_data"
20
 
21
  # 启动命令:先运行 mock 脚本初始化库和数据,再运行巴西的测试数据,最后启动 API 服务
22
  CMD ["bash", "-c", "python apps/worker/run_mock.py && python apps/worker/run_brazil.py && uvicorn apps.api.main:app --host 0.0.0.0 --port 8000"]
 
15
  # 暴露端口
16
  EXPOSE 8000
17
 
18
+ # 设置环境变量,使用 SQLite
19
+ ENV DATABASE_URL="sqlite+aiosqlite:///./customs_data.db"
20
 
21
  # 启动命令:先运行 mock 脚本初始化库和数据,再运行巴西的测试数据,最后启动 API 服务
22
  CMD ["bash", "-c", "python apps/worker/run_mock.py && python apps/worker/run_brazil.py && uvicorn apps.api.main:app --host 0.0.0.0 --port 8000"]
packages/core/database.py CHANGED
@@ -3,12 +3,17 @@ from sqlalchemy.orm import declarative_base
3
  from packages.core.config import settings
4
 
5
  # 创建异步数据库引擎
 
 
 
 
 
 
 
 
6
  engine = create_async_engine(
7
  settings.DATABASE_URL,
8
- echo=False,
9
- future=True,
10
- pool_size=20,
11
- max_overflow=10
12
  )
13
 
14
  # 创建异步 Session 工厂
 
3
  from packages.core.config import settings
4
 
5
  # 创建异步数据库引擎
6
+ engine_kwargs = {
7
+ "echo": False,
8
+ "future": True,
9
+ }
10
+ if not settings.DATABASE_URL.startswith("sqlite"):
11
+ engine_kwargs["pool_size"] = 20
12
+ engine_kwargs["max_overflow"] = 10
13
+
14
  engine = create_async_engine(
15
  settings.DATABASE_URL,
16
+ **engine_kwargs
 
 
 
17
  )
18
 
19
  # 创建异步 Session 工厂
requirements.txt CHANGED
@@ -3,6 +3,7 @@ uvicorn==0.27.1
3
  sqlalchemy==2.0.28
4
  asyncpg==0.29.0
5
  psycopg2-binary==2.9.9
 
6
  pydantic==2.6.3
7
  pydantic-settings==2.2.1
8
  httpx==0.27.0
 
3
  sqlalchemy==2.0.28
4
  asyncpg==0.29.0
5
  psycopg2-binary==2.9.9
6
+ aiosqlite==0.20.0
7
  pydantic==2.6.3
8
  pydantic-settings==2.2.1
9
  httpx==0.27.0