优化更新

This commit is contained in:
2026-09-13 20:29:19 +08:00
parent d7a081e8b7
commit 74f41f651f
65 changed files with 1061 additions and 1321 deletions
@@ -15,11 +15,7 @@
首次部署时,使用初始化脚本一键完成建库、建表、Flask-Migrate stamp:
```bash
# 方式一:直接运行脚本
python scripts/setup_db.py
# 方式二:Make 命令
make db-init
```
:::tip 初始化流程
@@ -40,7 +36,7 @@ make db-init
flask db migrate -m "描述变更内容"
# 或使用 Make 命令
make migrate-revision
flask db migrate
```
:::tip 注意事项
@@ -56,7 +52,7 @@ make migrate-revision
flask db upgrade
# 或使用 Make 命令
make migrate-upgrade
flask db upgrade
```
### 回滚迁移
@@ -87,7 +83,7 @@ flask db history
flask db stamp head
# 或使用 Make 命令
make migrate-stamp
flask db stamp head
```
## 跨库数据迁移
@@ -111,7 +107,7 @@ make migrate-stamp
| 目标库 | 驱动包 | 说明 |
|:----|:----|:----|
| PostgreSQL | psycopg[binary] | psycopg3 |
| PostgreSQL | psycopg2-binary | psycopg2 |
| SQL Server | pymssql | - |
| SQLite | 内置 | 无需额外驱动 |
| Oracle | oracledb | thin 模式,无需安装 Oracle Client |
@@ -362,14 +358,14 @@ CREATE SEQUENCE flask_user_id_seq START WITH <max_id+1>;
| 场景 | 命令 |
|------|------|
| 全新安装 | `make db-init` |
| 模型变更后生成迁移 | `make migrate-revision` |
| 应用迁移 | `make migrate-upgrade` |
| 全新安装 | `python scripts/setup_db.py` |
| 模型变更后生成迁移 | `flask db migrate` |
| 应用迁移 | `flask db upgrade` |
| 回滚一次迁移 | `flask db downgrade -1` |
| 标记已有库为最新 | `make migrate-stamp` |
| 标记已有库为最新 | `flask db stamp head` |
| 跨库迁移干跑 | `make db-migrate-dry-run ARGS="..."` |
| 跨库迁移执行 | `make db-migrate ARGS="..."` |
## 总结
数据库迁移分为结构迁移(Flask-Migrate / Alembic)和数据迁移(`migrate_db.py`)两部分。全新安装用 `make db-init`,模型变更用 Flask-Migrate 自动生成迁移脚本,跨库切换用 `migrate_db.py` 数据泵。建议每次迁移前先干跑确认,生产环境务必做好备份。
数据库迁移分为结构迁移(Flask-Migrate / Alembic)和数据迁移(`migrate_db.py`)两部分。全新安装用 `python scripts/setup_db.py`,模型变更用 Flask-Migrate 自动生成迁移脚本,跨库切换用 `migrate_db.py` 数据泵。建议每次迁移前先干跑确认,生产环境务必做好备份。