Files
BMS/bms-back/sql/20261113_uuid_to_bigint_runbook.md
T

64 lines
1.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# UUID -> bigint 夜间执行与冒烟清单
脚本:`bms-back/sql/20261113_uuid_to_bigint_order_bill.sql`
## 必须顺序(不要飞)
1. **先停 Java / BMS 服务**(含计费、出账、导出等异步 worker)
2. **宝塔整库备份**(SQL 不再做同库 *_bak_uuid 拷贝)
3. 在服务器执行 SQL(下面一键脚本)
4. SQL 成功后,再部署 **Long 版** 后端并启动
5. 冒烟
>旧包连新库或新包连旧库都会挂。**一定先停 Java,再跑 SQL。**
## 服务器一键执行
把同目录下 `20261113_uuid_to_bigint_order_bill.sql` 与 `20261113_uuid_to_bigint_run.sh` 一起上传到服务器。
```bash
# 1) 先停 Java(按你们部署方式改,以下为示例)
# systemctl stop bms-admin
# 或:kill / docker stop / 停掉所有 java -jar bms-*.jar
# 2) 再跑迁移
export BMS_DB_HOST=127.0.0.1
export BMS_DB_PORT=3306
export BMS_DB_NAME=bms
export BMS_DB_USER=root
export BMS_DB_PASS='******'
chmod +x 20261113_uuid_to_bigint_run.sh
./20261113_uuid_to_bigint_run.sh
# 或非交互:CONFIRM=YES ./20261113_uuid_to_bigint_run.sh
```
日志写在 `sql/logs/uuid_to_bigint_*.log`。
## 执行前
1. **已停 Java / BMS**(含计费/出账/导出异步)
2. **已在宝塔做整库备份**
3. 建议在从库/备份库先干跑校验
4. 准备好 Long 版后端包(SQL 成功后再发)
## 执行
1. 确认 Java 已停
2. 跑 `./20261113_uuid_to_bigint_run.sh`(内部会执行整份 SQL)
3. 查日志校验/抽查通过
4. 部署新后端,启应用
## 冒烟
- [ ] 订单列表能打开,billId 为数字
- [ ] 新建/重计费一票,生成新 bigint bill_id
- [ ] 手动加一笔应收费用 / 查费用明细
- [ ] 生成一笔应收账单,明细能关联订单
- [ ] 旧应收账单明细 JOIN prc_order_bill 正常
- [ ] 应付费用/应付账单查看正常
## 回滚
1. 停新包
2. **用宝塔整库备份恢复**
3. 部署旧后端包
## 次日
- 确认无误后 DROP `*_old_uuid` / `mig_map_*`