更新UUID到BIGINT的迁移脚本,优化备份和回滚说明
This commit is contained in:
@@ -3,7 +3,7 @@
|
||||
-- 范围 PK:prc_order_bill.bill_id / prc_income_bill.income_bill_id / prc_income_bill_fee.fee_id / prc_pay_bill.pay_bill_id / prc_pay_bill_fee.fee_id
|
||||
-- 范围 FK/引用:prc_order_bill_ext、income/pay 上 bill_id、prc_billing_task、ar_bill_detail*、ar_bill_generate_task、pay_bill_line/log/diff
|
||||
-- 不动:ar_bill 等已 bigint;prc_quote* 报价 UUID;任务 taskId
|
||||
-- 回滚:见文末;更稳妥为整库备份恢复 + 旧后端包
|
||||
-- 回滚:用宝塔/整库备份恢复 + 旧后端包(本脚本不再做同库 *_bak_uuid 拷贝)
|
||||
--
|
||||
-- FK盘点: fk_income_bill_order_bill, fk_income_bill_fee_order, fk_order_bill_ext_bill, fk_pay_bill_order_bill, fk_pay_bill_fee_order
|
||||
SET NAMES utf8mb4;
|
||||
@@ -25,19 +25,8 @@ WHERE TABLE_SCHEMA = DATABASE()
|
||||
AND REFERENCED_TABLE_NAME IN ('prc_order_bill','prc_income_bill','prc_income_bill_fee','prc_pay_bill','prc_pay_bill_fee')
|
||||
ORDER BY TABLE_NAME, CONSTRAINT_NAME;
|
||||
|
||||
-- ========== 1. 备份关键表 ==========
|
||||
DROP TABLE IF EXISTS `prc_order_bill_bak_uuid`;
|
||||
CREATE TABLE `prc_order_bill_bak_uuid` AS SELECT * FROM `prc_order_bill`;
|
||||
DROP TABLE IF EXISTS `prc_order_bill_ext_bak_uuid`;
|
||||
CREATE TABLE `prc_order_bill_ext_bak_uuid` AS SELECT * FROM `prc_order_bill_ext`;
|
||||
DROP TABLE IF EXISTS `prc_income_bill_bak_uuid`;
|
||||
CREATE TABLE `prc_income_bill_bak_uuid` AS SELECT * FROM `prc_income_bill`;
|
||||
DROP TABLE IF EXISTS `prc_income_bill_fee_bak_uuid`;
|
||||
CREATE TABLE `prc_income_bill_fee_bak_uuid` AS SELECT * FROM `prc_income_bill_fee`;
|
||||
DROP TABLE IF EXISTS `prc_pay_bill_bak_uuid`;
|
||||
CREATE TABLE `prc_pay_bill_bak_uuid` AS SELECT * FROM `prc_pay_bill`;
|
||||
DROP TABLE IF EXISTS `prc_pay_bill_fee_bak_uuid`;
|
||||
CREATE TABLE `prc_pay_bill_fee_bak_uuid` AS SELECT * FROM `prc_pay_bill_fee`;
|
||||
-- ========== 1. 跳过同库 bak(已在宝塔做整库备份,避免再拷一份占盘/耗时) ==========
|
||||
-- 回滚请用宝塔备份恢复,不再依赖 *_bak_uuid
|
||||
|
||||
-- ========== 2. 映射表 ==========
|
||||
DROP TABLE IF EXISTS `mig_map_order_bill`;
|
||||
@@ -397,13 +386,11 @@ SELECT d.detail_id, d.prc_order_bill_id, o.order_no FROM ar_bill_detail d JOIN p
|
||||
SELECT f.detail_fee_id, f.prc_income_bill_fee_id, i.fee_type FROM ar_bill_detail_fee f JOIN prc_income_bill_fee i ON i.fee_id = f.prc_income_bill_fee_id LIMIT 5;
|
||||
|
||||
-- ========== 9. 回滚说明(勿自动执行) ==========
|
||||
-- 推荐:整库从备份恢复 + 部署旧后端包
|
||||
-- 或:SET FOREIGN_KEY_CHECKS=0; RENAME 把 *_bak_uuid 换回主表名(引用列需另外恢复)
|
||||
-- 用宝塔/整库备份恢复 + 部署旧后端包
|
||||
--
|
||||
-- ========== 10. 次日清理 ==========
|
||||
-- DROP TABLE IF EXISTS prc_order_bill_old_uuid, prc_order_bill_bak_uuid, prc_income_bill_old_uuid, prc_income_bill_bak_uuid,
|
||||
-- prc_income_bill_fee_old_uuid, prc_income_bill_fee_bak_uuid, prc_pay_bill_old_uuid, prc_pay_bill_bak_uuid,
|
||||
-- prc_pay_bill_fee_old_uuid, prc_pay_bill_fee_bak_uuid, prc_order_bill_ext_bak_uuid;
|
||||
-- DROP TABLE IF EXISTS prc_order_bill_old_uuid, prc_income_bill_old_uuid,
|
||||
-- prc_income_bill_fee_old_uuid, prc_pay_bill_old_uuid, prc_pay_bill_fee_old_uuid;
|
||||
-- DROP TABLE IF EXISTS mig_map_order_bill, mig_map_income_bill, mig_map_income_fee, mig_map_pay_bill, mig_map_pay_fee;
|
||||
--
|
||||
-- 冒烟:1)新建/重计费 2)出应收 3)查应付费用 4)旧 AR 明细关联订单
|
||||
|
||||
Reference in New Issue
Block a user