优化更新

This commit is contained in:
2026-09-14 09:44:33 +08:00
parent b3a9e21254
commit 5b8e178970
60 changed files with 1243 additions and 1022 deletions
@@ -187,12 +187,12 @@ pip install -r requirements.txt
# 干跑:核对源库表和行数
python scripts/migrate_db.py --dry-run \
--src-driver=mysql --src-host=127.0.0.1 --src-port=3306 \
--src-user=root --src-pass=root --src-db=djangoadmin.fastapi.elevue
--src-user=root --src-pass=root --src-db=djangoadmin.fastapi.antdvue
# 或使用 Make 命令
make db-migrate-dry-run ARGS="\
--src-driver=mysql --src-host=127.0.0.1 --src-port=3306 \
--src-user=root --src-pass=root --src-db=djangoadmin.fastapi.elevue"
--src-user=root --src-pass=root --src-db=djangoadmin.fastapi.antdvue"
```
### MySQL → PostgreSQL
@@ -200,9 +200,9 @@ make db-migrate-dry-run ARGS="\
```bash
python scripts/migrate_db.py \
--src-driver=mysql --src-host=127.0.0.1 --src-port=3306 \
--src-db=djangoadmin.fastapi.elevue --src-user=root --src-pass=root \
--src-db=djangoadmin.fastapi.antdvue --src-user=root --src-pass=root \
--dst-driver=postgresql --dst-host=localhost --dst-port=5432 \
--dst-db=djangoadmin.fastapi.elevue --dst-user=postgres --dst-pass=你的密码 \
--dst-db=djangoadmin.fastapi.antdvue --dst-user=postgres --dst-pass=你的密码 \
--drop-target-first
```
@@ -210,12 +210,12 @@ python scripts/migrate_db.py \
```
==============================================================
[迁移开始] 源: mysql:djangoadmin.fastapi.elevue → 目标: postgresql:djangoadmin.fastapi.elevue
[迁移开始] 源: mysql:djangoadmin.fastapi.antdvue → 目标: postgresql:djangoadmin.fastapi.antdvue
[迁移开始] 待迁移 23 张表
==============================================================
[·] [1/5] 建目标库...
· 正在连接 postgres 维护库...
· 正在创建目标库 "djangoadmin.fastapi.elevue"(UTF8)...
· 正在创建目标库 "djangoadmin.fastapi.antdvue"(UTF8)...
[✓] [1/5] 建目标库 完成(耗时 947ms)
[·] [2/5] 建表结构(23 张表 create_all)...
[✓] [2/5] 建表结构 完成(耗时 1.1s),23 张表
@@ -248,9 +248,9 @@ python scripts/migrate_db.py \
```bash
python scripts/migrate_db.py \
--src-driver=mysql --src-host=127.0.0.1 --src-port=3306 \
--src-db=djangoadmin.fastapi.elevue --src-user=root --src-pass=root \
--src-db=djangoadmin.fastapi.antdvue --src-user=root --src-pass=root \
--dst-driver=mssql --dst-host=localhost --dst-port=1433 \
--dst-db=djangoadmin.fastapi.elevue --dst-user=sa --dst-pass=你的密码 \
--dst-db=djangoadmin.fastapi.antdvue --dst-user=sa --dst-pass=你的密码 \
--drop-target-first
```
@@ -262,13 +262,13 @@ python scripts/migrate_db.py \
```
==============================================================
[迁移开始] 源: mysql → 目标: mssql:djangoadmin.fastapi.elevue
[迁移开始] 源: mysql → 目标: mssql:djangoadmin.fastapi.antdvue
[迁移开始] 待迁移 23 张表
==============================================================
[·] [1/5] 建目标库...
· 正在连接 SQL Server(master 维护库)...
· 正在删除旧目标库 [djangoadmin.fastapi.elevue](SINGLE_USER + DROP)...
· 正在创建目标库 [djangoadmin.fastapi.elevue]...
· 正在删除旧目标库 [djangoadmin.fastapi.antdvue](SINGLE_USER + DROP)...
· 正在创建目标库 [djangoadmin.fastapi.antdvue]...
[✓] [1/5] 建目标库 完成(耗时 304ms)
[·] [2/5] 建表结构(23 张表 create_all)...
[✓] [2/5] 建表结构 完成(耗时 743ms),23 张表
@@ -291,8 +291,8 @@ python scripts/migrate_db.py \
```bash
python scripts/migrate_db.py \
--src-driver=mysql --src-host=127.0.0.1 --src-port=3306 \
--src-db=djangoadmin.fastapi.elevue --src-user=root --src-pass=root \
--dst-driver=sqlite --dst-db=D:/data/djangoadmin.fastapi.elevue.db \
--src-db=djangoadmin.fastapi.antdvue --src-user=root --src-pass=root \
--dst-driver=sqlite --dst-db=D:/data/djangoadmin.fastapi.antdvue.db \
--drop-target-first
```
@@ -306,7 +306,7 @@ python scripts/migrate_db.py \
```
==============================================================
[迁移开始] 源: mysql → 目标: sqlite:D:/data/djangoadmin.fastapi.elevue.db
[迁移开始] 源: mysql → 目标: sqlite:D:/data/djangoadmin.fastapi.antdvue.db
[迁移开始] 待迁移 23 张表
==============================================================
[·] [1/5] 建目标库...
@@ -334,7 +334,7 @@ python scripts/migrate_db.py \
```bash
python scripts/migrate_db.py \
--src-driver=mysql --src-host=127.0.0.1 --src-port=3306 \
--src-db=djangoadmin.fastapi.elevue --src-user=root --src-pass=root \
--src-db=djangoadmin.fastapi.antdvue --src-user=root --src-pass=root \
--dst-driver=oracle --dst-host=localhost --dst-port=1521 \
--dst-db=ORCLPDB1 --dst-user=fastapi --dst-pass=你的密码 \
--drop-target-first
@@ -29,7 +29,7 @@
**数据库**:
- [ ] 安装 MySQL 8.0+
- [ ] 创建数据库:`CREATE DATABASE djangoadmin.fastapi.elevue DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;`
- [ ] 创建数据库:`CREATE DATABASE djangoadmin.fastapi.antdvue DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;`
- [ ] 创建数据库用户并授权
- [ ] 修改 `.env` 中的数据库配置
- [ ] 初始化数据库:`python scripts/init_db.py`
@@ -138,7 +138,7 @@ server {
### 数据库迁移
- [ ] 备份数据库:`mysqldump -uroot -p djangoadmin.fastapi.elevue > backup.sql`
- [ ] 备份数据库:`mysqldump -uroot -p djangoadmin.fastapi.antdvue > backup.sql`
- [ ] 执行迁移:`alembic upgrade head`
- [ ] 验证迁移结果
@@ -198,7 +198,7 @@ cp -r /opt/backup/dist /opt/project/ui/dist
```bash
# 从备份恢复
mysql -uroot -p djangoadmin.fastapi.elevue < backup.sql
mysql -uroot -p djangoadmin.fastapi.antdvue < backup.sql
```
## 总结
@@ -58,9 +58,9 @@ Dockerfile 将 `requirements.txt` 和源码分两步 COPY,利用 Docker 层缓
version: '3.7'
services:
fastapi_elevue: # 服务名称
image: fastapi_elevue # 镜像名称
container_name: fastapi_elevue # 容器名称
fastapi_antdvue: # 服务名称
image: fastapi_antdvue # 镜像名称
container_name: fastapi_antdvue # 容器名称
build: # 构建配置
context: ./ # 构建上下文路径
dockerfile: Dockerfile # Dockerfile 文件名
@@ -116,26 +116,26 @@ docker-compose build
docker-compose ps
# 查看日志
docker-compose logs -f fastapi_elevue
docker-compose logs -f fastapi_antdvue
# 停止服务
docker-compose down
# 重启服务
docker-compose restart fastapi_elevue
docker-compose restart fastapi_antdvue
# 进入容器
docker exec -it fastapi_elevue bash
docker exec -it fastapi_antdvue bash
```
### 查看容器资源
```bash
# 查看容器资源占用
docker stats fastapi_elevue
docker stats fastapi_antdvue
# 查看容器日志大小
docker inspect --format='{{.LogPath}}' fastapi_elevue
docker inspect --format='{{.LogPath}}' fastapi_antdvue
```
## 环境变量注入
@@ -186,7 +186,7 @@ logging:
```yaml
services:
fastapi_elevue:
fastapi_antdvue:
# ... 后端配置 ...
nginx:
@@ -198,7 +198,7 @@ services:
- ./nginx.conf:/etc/nginx/conf.d/default.conf # Nginx 配置文件
- ./dist:/usr/share/nginx/html # 前端构建产物
depends_on: # 依赖服务
- fastapi_elevue # 等待后端服务启动
- fastapi_antdvue # 等待后端服务启动
```
## 总结
@@ -249,10 +249,10 @@ python -m memory_profiler src/main.py
```bash
# 1. 查看容器日志
docker-compose logs fastapi_elevue
docker-compose logs fastapi_antdvue
# 2. 进入容器调试
docker run -it --rm fastapi_elevue bash
docker run -it --rm fastapi_antdvue bash
# 3. 检查 .env 文件
cat .env