修复项目配置草稿原子保存逻辑

This commit is contained in:
Cheng Zhou
2026-05-11 11:03:06 +08:00
parent 8d061a1520
commit 20d45cfdfe
6 changed files with 333 additions and 59 deletions
+45 -15
View File
@@ -118,7 +118,17 @@ EOF
docker compose up -d --build
```
### 4. 检查容器状态
### 4. 执行数据库迁移
已有数据库升级到新代码时,启动后执行一次迁移:
```bash
docker compose run --rm backend python -m alembic upgrade head
```
首次空库安装也可以执行该命令;如果已是最新版本,Alembic 不会重复应用迁移。
### 5. 检查容器状态
```bash
docker compose ps
@@ -126,7 +136,7 @@ docker compose ps
确认 `ctms_db``ctms_backend``ctms_nginx` 都是 `Up`,且 `ctms_db``healthy`
### 5. 检查后端环境
### 6. 检查后端环境
```bash
docker compose exec backend python -c "from app.core.config import settings; print('ENV=' + settings.ENV); print('JWT_SECRET_IS_DEV=' + str(settings.JWT_SECRET_KEY == 'dev-secret')); print('LOGIN_RSA_PRIVATE_KEY_SET=' + str(bool(settings.LOGIN_RSA_PRIVATE_KEY)))"
@@ -140,7 +150,7 @@ JWT_SECRET_IS_DEV=True
LOGIN_RSA_PRIVATE_KEY_SET=False
```
### 6. 检查接口
### 7. 检查接口
```bash
curl -i http://127.0.0.1:8888/health
@@ -149,13 +159,13 @@ curl -i http://127.0.0.1:8888/api/v1/auth/login-key
两个接口都应返回 `HTTP/1.1 200 OK`
### 7. 打开系统
### 8. 打开系统
```text
http://localhost:8888
```
### 8. 运行验证
### 9. 运行验证
后端:
@@ -243,7 +253,17 @@ docker compose run --rm backend-init
docker compose up -d --build
```
### 7. 检查容器状态
### 7. 执行数据库迁移
已有数据库升级到新代码时,启动后执行一次迁移:
```bash
docker compose run --rm backend python -m alembic upgrade head
```
`backend-init` 会在初始化时处理空库和已有库迁移;这里单独执行迁移用于确认部署代码已落到最新数据库版本。
### 8. 检查容器状态
```bash
docker compose ps
@@ -251,7 +271,7 @@ docker compose ps
确认 `ctms_db``ctms_backend``ctms_nginx` 都是 `Up`,且 `ctms_db``healthy`
### 8. 检查后端环境
### 9. 检查后端环境
```bash
docker compose exec backend python -c "from app.core.config import settings; print('ENV=' + settings.ENV); print('JWT_SECRET_IS_DEV=' + str(settings.JWT_SECRET_KEY == 'dev-secret')); print('LOGIN_RSA_PRIVATE_KEY_SET=' + str(bool(settings.LOGIN_RSA_PRIVATE_KEY))); print('LOGIN_RSA_KEY_ID=' + settings.LOGIN_RSA_KEY_ID)"
@@ -266,7 +286,7 @@ LOGIN_RSA_PRIVATE_KEY_SET=True
LOGIN_RSA_KEY_ID=main-YYYYMMDD
```
### 9. 检查接口
### 10. 检查接口
本机:
@@ -284,7 +304,7 @@ curl -i https://<main-domain>/api/v1/auth/login-key
接口应返回 `HTTP/1.1 200 OK`
### 10. 打开系统
### 11. 打开系统
本机:
@@ -300,7 +320,7 @@ https://<main-domain>
远程访问必须使用 HTTPS。
### 11. 运行验证
### 12. 运行验证
后端:
@@ -417,7 +437,17 @@ docker compose run --rm backend-init
docker compose up -d --build
```
### 8. 检查容器状态
### 8. 执行数据库迁移
已有数据库升级到新代码时,启动后执行一次迁移:
```bash
docker compose run --rm backend python -m alembic upgrade head
```
`backend-init` 会在初始化时处理空库和已有库迁移;这里单独执行迁移用于确认部署代码已落到最新数据库版本。
### 9. 检查容器状态
```bash
docker compose ps
@@ -425,7 +455,7 @@ docker compose ps
确认 `ctms_db``ctms_backend``ctms_nginx` 都是 `Up`,且 `ctms_db``healthy`
### 9. 检查后端环境
### 10. 检查后端环境
```bash
docker compose exec backend python -c "from app.core.config import settings; print('ENV=' + settings.ENV); print('JWT_SECRET_IS_DEV=' + str(settings.JWT_SECRET_KEY == 'dev-secret')); print('LOGIN_RSA_PRIVATE_KEY_SET=' + str(bool(settings.LOGIN_RSA_PRIVATE_KEY))); print('LOGIN_RSA_KEY_ID=' + settings.LOGIN_RSA_KEY_ID)"
@@ -440,7 +470,7 @@ LOGIN_RSA_PRIVATE_KEY_SET=True
LOGIN_RSA_KEY_ID=release-YYYYMMDD
```
### 10. 检查生产接口
### 11. 检查生产接口
```bash
curl -i https://<production-domain>/health
@@ -449,7 +479,7 @@ curl -i https://<production-domain>/api/v1/auth/login-key
两个接口都应返回 `HTTP/1.1 200 OK`
### 11. 打开系统并登录
### 12. 打开系统并登录
```text
https://<production-domain>
@@ -463,7 +493,7 @@ admin@huapont.cn / admin123
首次登录后立即修改初始密码。
### 12. 发布后检查
### 13. 发布后检查
查看容器: