1.9 KiB
1.9 KiB
UUID -> bigint 夜间执行与冒烟清单
脚本:bms-back/sql/20261113_uuid_to_bigint_order_bill.sql
必须顺序(不要飞)
- 先停 Java / BMS 服务(含计费、出账、导出等异步 worker)
- 宝塔整库备份(SQL 不再做同库 *_bak_uuid 拷贝)
- 在服务器执行 SQL(下面一键脚本)
- SQL 成功后,再部署 Long 版 后端并启动
- 冒烟
旧包连新库或新包连旧库都会挂。一定先停 Java,再跑 SQL。
服务器一键执行
把同目录下 20261113_uuid_to_bigint_order_bill.sql 与 20261113_uuid_to_bigint_run.sh 一起上传到服务器。
# 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。
执行前
- 已停 Java / BMS(含计费/出账/导出异步)
- 已在宝塔做整库备份
- 建议在从库/备份库先干跑校验
- 准备好 Long 版后端包(SQL 成功后再发)
执行
- 确认 Java 已停
- 跑
./20261113_uuid_to_bigint_run.sh(内部会执行整份 SQL) - 查日志校验/抽查通过
- 部署新后端,启应用
冒烟
- 订单列表能打开,billId 为数字
- 新建/重计费一票,生成新 bigint bill_id
- 手动加一笔应收费用 / 查费用明细
- 生成一笔应收账单,明细能关联订单
- 旧应收账单明细 JOIN prc_order_bill 正常
- 应付费用/应付账单查看正常
回滚
- 停新包
- 用宝塔整库备份恢复
- 部署旧后端包
次日
- 确认无误后 DROP
*_old_uuid/mig_map_*