# ADR-002:使用 SQLite 与 Alembic ## 状态 已接受 ## 决策 使用 SQLAlchemy 2.x 管理数据访问,SQLite 作为默认数据库,Alembic 管理迁移。 ## 原因 - 单机部署简单; - 无额外数据库运维成本; - 足以保存模型连接配置、测试运行、结果和本地认证数据; - 未来可通过 DATABASE_URL 切换到 PostgreSQL,而不修改业务层。 ## 运维操作 - 初始化并创建默认管理员:`./scripts/init_db.sh` - 生成迁移:`uv run alembic revision --autogenerate -m "message"` - 仅升级:`./scripts/migrate_db.sh` - 回滚:`uv run alembic downgrade -1` `0006_provider_crud` 新建 `provider_configs`,不修改已有的 `model_profiles` 能力档案,因此旧库中重复的历史档案不会阻塞升级。 `0007_user_token_version` 增加用户令牌版本;密码重置递增版本,使旧令牌立即失效。