23 lines
896 B
Markdown
23 lines
896 B
Markdown
# 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` 增加用户令牌版本;密码重置递增版本,使旧令牌立即失效。
|