- src/ 按域组织骨架,示例域 items 双后端实现(SQLAlchemy2.0 async / Beanie 2.x) - DB_BACKEND 环境变量切换,router 只依赖 Repo Protocol - alembic 迁移(含初始 items 迁移)、uv 依赖管理、ruff、pytest 异步测试 - Dockerfile + docker-compose(app/mysql/mongo) - AGENTS.md 重写为本模板开发规范;原最佳实践文档归档 docs/ - 验证:mongodb/mysql 双后端 pytest 全绿 + uvicorn 真实冒烟通过
35 lines
639 B
YAML
35 lines
639 B
YAML
services:
|
|
app:
|
|
build: .
|
|
ports:
|
|
- "8000:8000"
|
|
env_file: .env
|
|
environment:
|
|
# compose 内网地址覆盖 .env 里的 127.0.0.1
|
|
MYSQL_DSN: mysql+aiomysql://root:root@mysql:3306/app?charset=utf8mb4
|
|
MONGO_DSN: mongodb://mongo:27017
|
|
depends_on:
|
|
- mysql
|
|
- mongo
|
|
|
|
mysql:
|
|
image: mysql:8.0
|
|
environment:
|
|
MYSQL_ROOT_PASSWORD: root
|
|
MYSQL_DATABASE: app
|
|
ports:
|
|
- "3306:3306"
|
|
volumes:
|
|
- mysql_data:/var/lib/mysql
|
|
|
|
mongo:
|
|
image: mongo:8.0
|
|
ports:
|
|
- "27017:27017"
|
|
volumes:
|
|
- mongo_data:/data/db
|
|
|
|
volumes:
|
|
mysql_data:
|
|
mongo_data:
|