Spaces:
Runtime error
Runtime error
chore: change DB to SQLite for Hugging Face Space deployment
Browse files- Dockerfile +2 -2
- packages/core/database.py +9 -4
- requirements.txt +1 -0
Dockerfile
CHANGED
|
@@ -15,8 +15,8 @@ COPY . .
|
|
| 15 |
# 暴露端口
|
| 16 |
EXPOSE 8000
|
| 17 |
|
| 18 |
-
# 设置环境变量,使用
|
| 19 |
-
ENV DATABASE_URL="
|
| 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 |
-
|
| 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
|