修改费用ID类型为Long,更新相关逻辑和SQL映射
This commit is contained in:
@@ -8,6 +8,11 @@
|
||||
-- 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;
|
||||
SET FOREIGN_KEY_CHECKS = 0;
|
||||
-- 提高 GROUP_CONCAT 长度,避免动态拼 SQL 被截断(默认 1024 会报 1064)
|
||||
SET SESSION group_concat_max_len = 1024000;
|
||||
-- 若上次中途失败/校对规则报错,先:
|
||||
-- DROP TABLE IF EXISTS prc_order_bill_new, prc_income_bill_new, prc_income_bill_fee_new, prc_pay_bill_new, prc_pay_bill_fee_new;
|
||||
-- DROP TABLE IF EXISTS mig_map_order_bill, mig_map_income_bill, mig_map_income_fee, mig_map_pay_bill, mig_map_pay_fee;
|
||||
|
||||
-- ========== 0. 前置检查 ==========
|
||||
SELECT 'prc_order_bill' AS tbl, COUNT(*) AS cnt FROM prc_order_bill
|
||||
@@ -31,55 +36,55 @@ ORDER BY TABLE_NAME, CONSTRAINT_NAME;
|
||||
-- ========== 2. 映射表 ==========
|
||||
DROP TABLE IF EXISTS `mig_map_order_bill`;
|
||||
CREATE TABLE `mig_map_order_bill` (
|
||||
`old_id` varchar(36) NOT NULL,
|
||||
`old_id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
|
||||
`new_id` bigint NOT NULL AUTO_INCREMENT,
|
||||
PRIMARY KEY (`old_id`),
|
||||
UNIQUE KEY `uk_new_id` (`new_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
INSERT INTO `mig_map_order_bill` (`old_id`)
|
||||
SELECT `bill_id` FROM `prc_order_bill` ORDER BY IFNULL(`create_time`, '1970-01-01'), `bill_id`;
|
||||
|
||||
DROP TABLE IF EXISTS `mig_map_income_bill`;
|
||||
CREATE TABLE `mig_map_income_bill` (
|
||||
`old_id` varchar(36) NOT NULL,
|
||||
`old_id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
|
||||
`new_id` bigint NOT NULL AUTO_INCREMENT,
|
||||
PRIMARY KEY (`old_id`),
|
||||
UNIQUE KEY `uk_new_id` (`new_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
INSERT INTO `mig_map_income_bill` (`old_id`)
|
||||
SELECT `income_bill_id` FROM `prc_income_bill` ORDER BY IFNULL(`create_time`, '1970-01-01'), `income_bill_id`;
|
||||
|
||||
DROP TABLE IF EXISTS `mig_map_income_fee`;
|
||||
CREATE TABLE `mig_map_income_fee` (
|
||||
`old_id` varchar(36) NOT NULL,
|
||||
`old_id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
|
||||
`new_id` bigint NOT NULL AUTO_INCREMENT,
|
||||
PRIMARY KEY (`old_id`),
|
||||
UNIQUE KEY `uk_new_id` (`new_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
INSERT INTO `mig_map_income_fee` (`old_id`)
|
||||
SELECT `fee_id` FROM `prc_income_bill_fee` ORDER BY IFNULL(`create_time`, '1970-01-01'), `fee_id`;
|
||||
|
||||
DROP TABLE IF EXISTS `mig_map_pay_bill`;
|
||||
CREATE TABLE `mig_map_pay_bill` (
|
||||
`old_id` varchar(36) NOT NULL,
|
||||
`old_id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
|
||||
`new_id` bigint NOT NULL AUTO_INCREMENT,
|
||||
PRIMARY KEY (`old_id`),
|
||||
UNIQUE KEY `uk_new_id` (`new_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
INSERT INTO `mig_map_pay_bill` (`old_id`)
|
||||
SELECT `pay_bill_id` FROM `prc_pay_bill` ORDER BY IFNULL(`create_time`, '1970-01-01'), `pay_bill_id`;
|
||||
|
||||
DROP TABLE IF EXISTS `mig_map_pay_fee`;
|
||||
CREATE TABLE `mig_map_pay_fee` (
|
||||
`old_id` varchar(36) NOT NULL,
|
||||
`old_id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
|
||||
`new_id` bigint NOT NULL AUTO_INCREMENT,
|
||||
PRIMARY KEY (`old_id`),
|
||||
UNIQUE KEY `uk_new_id` (`new_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
INSERT INTO `mig_map_pay_fee` (`old_id`)
|
||||
SELECT `fee_id` FROM `prc_pay_bill_fee` ORDER BY IFNULL(`create_time`, '1970-01-01'), `fee_id`;
|
||||
|
||||
-- ========== 3. 重建核心表(动态列) ==========
|
||||
-- ========== 3. 重建核心表(动态列,需 group_concat_max_len) ==========
|
||||
DROP TABLE IF EXISTS `prc_order_bill_new`;
|
||||
CREATE TABLE `prc_order_bill_new` LIKE `prc_order_bill`;
|
||||
ALTER TABLE `prc_order_bill_new` MODIFY COLUMN `bill_id` bigint NOT NULL AUTO_INCREMENT;
|
||||
@@ -88,15 +93,13 @@ FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='pr
|
||||
SELECT GROUP_CONCAT(CONCAT('t.`', COLUMN_NAME, '`') ORDER BY ORDINAL_POSITION SEPARATOR ',') INTO @sels_rest
|
||||
FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='prc_order_bill' AND COLUMN_NAME NOT IN ('bill_id');
|
||||
SET @sql := CONCAT(
|
||||
'INSERT INTO `prc_order_bill_new` (`bill_id`',
|
||||
IF(@cols_rest IS NULL OR @cols_rest = '', '', CONCAT(', ', @cols_rest)), ') ',
|
||||
'SELECT mo.new_id',
|
||||
IF(@sels_rest IS NULL OR @sels_rest = '', '', CONCAT(', ', @sels_rest)), ' ',
|
||||
'INSERT INTO `prc_order_bill_new`(`bill_id`,', @cols_rest, ') ',
|
||||
'SELECT mo.new_id,', @sels_rest, ' ',
|
||||
'FROM `prc_order_bill` t ',
|
||||
'JOIN `mig_map_order_bill` mo ON mo.old_id = t.`bill_id` '
|
||||
'JOIN `mig_map_order_bill` mo ON BINARY mo.old_id = BINARY t.`bill_id` '
|
||||
);
|
||||
-- 若仍报错可先:SELECT LEFT(@sql, 500), LENGTH(@cols_rest), LENGTH(@sels_rest);
|
||||
PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
|
||||
|
||||
DROP TABLE IF EXISTS `prc_income_bill_new`;
|
||||
CREATE TABLE `prc_income_bill_new` LIKE `prc_income_bill`;
|
||||
ALTER TABLE `prc_income_bill_new` MODIFY COLUMN `income_bill_id` bigint NOT NULL AUTO_INCREMENT;
|
||||
@@ -106,16 +109,14 @@ FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='pr
|
||||
SELECT GROUP_CONCAT(CONCAT('t.`', COLUMN_NAME, '`') ORDER BY ORDINAL_POSITION SEPARATOR ',') INTO @sels_rest
|
||||
FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='prc_income_bill' AND COLUMN_NAME NOT IN ('income_bill_id','bill_id');
|
||||
SET @sql := CONCAT(
|
||||
'INSERT INTO `prc_income_bill_new` (`income_bill_id`, `bill_id`',
|
||||
IF(@cols_rest IS NULL OR @cols_rest = '', '', CONCAT(', ', @cols_rest)), ') ',
|
||||
'SELECT mi.new_id, mo.new_id',
|
||||
IF(@sels_rest IS NULL OR @sels_rest = '', '', CONCAT(', ', @sels_rest)), ' ',
|
||||
'INSERT INTO `prc_income_bill_new`(`income_bill_id`, `bill_id`,', @cols_rest, ') ',
|
||||
'SELECT mi.new_id, mo.new_id,', @sels_rest, ' ',
|
||||
'FROM `prc_income_bill` t ',
|
||||
'JOIN `mig_map_income_bill` mi ON mi.old_id = t.`income_bill_id` '
|
||||
,'JOIN `mig_map_order_bill` mo ON mo.old_id = t.`bill_id` '
|
||||
'JOIN `mig_map_income_bill` mi ON BINARY mi.old_id = BINARY t.`income_bill_id` '
|
||||
,'JOIN `mig_map_order_bill` mo ON BINARY mo.old_id = BINARY t.`bill_id` '
|
||||
);
|
||||
-- 若仍报错可先:SELECT LEFT(@sql, 500), LENGTH(@cols_rest), LENGTH(@sels_rest);
|
||||
PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
|
||||
|
||||
DROP TABLE IF EXISTS `prc_income_bill_fee_new`;
|
||||
CREATE TABLE `prc_income_bill_fee_new` LIKE `prc_income_bill_fee`;
|
||||
ALTER TABLE `prc_income_bill_fee_new` MODIFY COLUMN `fee_id` bigint NOT NULL AUTO_INCREMENT;
|
||||
@@ -126,17 +127,15 @@ FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='pr
|
||||
SELECT GROUP_CONCAT(CONCAT('t.`', COLUMN_NAME, '`') ORDER BY ORDINAL_POSITION SEPARATOR ',') INTO @sels_rest
|
||||
FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='prc_income_bill_fee' AND COLUMN_NAME NOT IN ('fee_id','bill_id','income_bill_id');
|
||||
SET @sql := CONCAT(
|
||||
'INSERT INTO `prc_income_bill_fee_new` (`fee_id`, `bill_id`, `income_bill_id`',
|
||||
IF(@cols_rest IS NULL OR @cols_rest = '', '', CONCAT(', ', @cols_rest)), ') ',
|
||||
'SELECT mf.new_id, mo.new_id, mi.new_id',
|
||||
IF(@sels_rest IS NULL OR @sels_rest = '', '', CONCAT(', ', @sels_rest)), ' ',
|
||||
'INSERT INTO `prc_income_bill_fee_new`(`fee_id`, `bill_id`, `income_bill_id`,', @cols_rest, ') ',
|
||||
'SELECT mf.new_id, mo.new_id, mi.new_id,', @sels_rest, ' ',
|
||||
'FROM `prc_income_bill_fee` t ',
|
||||
'JOIN `mig_map_income_fee` mf ON mf.old_id = t.`fee_id` '
|
||||
,'JOIN `mig_map_order_bill` mo ON mo.old_id = t.`bill_id` '
|
||||
,'LEFT JOIN `mig_map_income_bill` mi ON mi.old_id = t.`income_bill_id` '
|
||||
'JOIN `mig_map_income_fee` mf ON BINARY mf.old_id = BINARY t.`fee_id` '
|
||||
,'JOIN `mig_map_order_bill` mo ON BINARY mo.old_id = BINARY t.`bill_id` '
|
||||
,'LEFT JOIN `mig_map_income_bill` mi ON BINARY mi.old_id = BINARY t.`income_bill_id` '
|
||||
);
|
||||
-- 若仍报错可先:SELECT LEFT(@sql, 500), LENGTH(@cols_rest), LENGTH(@sels_rest);
|
||||
PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
|
||||
|
||||
DROP TABLE IF EXISTS `prc_pay_bill_new`;
|
||||
CREATE TABLE `prc_pay_bill_new` LIKE `prc_pay_bill`;
|
||||
ALTER TABLE `prc_pay_bill_new` MODIFY COLUMN `pay_bill_id` bigint NOT NULL AUTO_INCREMENT;
|
||||
@@ -146,16 +145,14 @@ FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='pr
|
||||
SELECT GROUP_CONCAT(CONCAT('t.`', COLUMN_NAME, '`') ORDER BY ORDINAL_POSITION SEPARATOR ',') INTO @sels_rest
|
||||
FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='prc_pay_bill' AND COLUMN_NAME NOT IN ('pay_bill_id','bill_id');
|
||||
SET @sql := CONCAT(
|
||||
'INSERT INTO `prc_pay_bill_new` (`pay_bill_id`, `bill_id`',
|
||||
IF(@cols_rest IS NULL OR @cols_rest = '', '', CONCAT(', ', @cols_rest)), ') ',
|
||||
'SELECT mp.new_id, mo.new_id',
|
||||
IF(@sels_rest IS NULL OR @sels_rest = '', '', CONCAT(', ', @sels_rest)), ' ',
|
||||
'INSERT INTO `prc_pay_bill_new`(`pay_bill_id`, `bill_id`,', @cols_rest, ') ',
|
||||
'SELECT mp.new_id, mo.new_id,', @sels_rest, ' ',
|
||||
'FROM `prc_pay_bill` t ',
|
||||
'JOIN `mig_map_pay_bill` mp ON mp.old_id = t.`pay_bill_id` '
|
||||
,'JOIN `mig_map_order_bill` mo ON mo.old_id = t.`bill_id` '
|
||||
'JOIN `mig_map_pay_bill` mp ON BINARY mp.old_id = BINARY t.`pay_bill_id` '
|
||||
,'JOIN `mig_map_order_bill` mo ON BINARY mo.old_id = BINARY t.`bill_id` '
|
||||
);
|
||||
-- 若仍报错可先:SELECT LEFT(@sql, 500), LENGTH(@cols_rest), LENGTH(@sels_rest);
|
||||
PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
|
||||
|
||||
DROP TABLE IF EXISTS `prc_pay_bill_fee_new`;
|
||||
CREATE TABLE `prc_pay_bill_fee_new` LIKE `prc_pay_bill_fee`;
|
||||
ALTER TABLE `prc_pay_bill_fee_new` MODIFY COLUMN `fee_id` bigint NOT NULL AUTO_INCREMENT;
|
||||
@@ -166,22 +163,20 @@ FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='pr
|
||||
SELECT GROUP_CONCAT(CONCAT('t.`', COLUMN_NAME, '`') ORDER BY ORDINAL_POSITION SEPARATOR ',') INTO @sels_rest
|
||||
FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='prc_pay_bill_fee' AND COLUMN_NAME NOT IN ('fee_id','bill_id','pay_bill_id');
|
||||
SET @sql := CONCAT(
|
||||
'INSERT INTO `prc_pay_bill_fee_new` (`fee_id`, `bill_id`, `pay_bill_id`',
|
||||
IF(@cols_rest IS NULL OR @cols_rest = '', '', CONCAT(', ', @cols_rest)), ') ',
|
||||
'SELECT mf.new_id, mo.new_id, mp.new_id',
|
||||
IF(@sels_rest IS NULL OR @sels_rest = '', '', CONCAT(', ', @sels_rest)), ' ',
|
||||
'INSERT INTO `prc_pay_bill_fee_new`(`fee_id`, `bill_id`, `pay_bill_id`,', @cols_rest, ') ',
|
||||
'SELECT mf.new_id, mo.new_id, mp.new_id,', @sels_rest, ' ',
|
||||
'FROM `prc_pay_bill_fee` t ',
|
||||
'JOIN `mig_map_pay_fee` mf ON mf.old_id = t.`fee_id` '
|
||||
,'JOIN `mig_map_order_bill` mo ON mo.old_id = t.`bill_id` '
|
||||
,'LEFT JOIN `mig_map_pay_bill` mp ON mp.old_id = t.`pay_bill_id` '
|
||||
'JOIN `mig_map_pay_fee` mf ON BINARY mf.old_id = BINARY t.`fee_id` '
|
||||
,'JOIN `mig_map_order_bill` mo ON BINARY mo.old_id = BINARY t.`bill_id` '
|
||||
,'LEFT JOIN `mig_map_pay_bill` mp ON BINARY mp.old_id = BINARY t.`pay_bill_id` '
|
||||
);
|
||||
-- 若仍报错可先:SELECT LEFT(@sql, 500), LENGTH(@cols_rest), LENGTH(@sels_rest);
|
||||
PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
|
||||
|
||||
-- --- prc_order_bill_ext 阴影列 ---
|
||||
SET @sql := IF((SELECT COUNT(*) FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='prc_order_bill_ext' AND COLUMN_NAME='bill_id_bi')=0,
|
||||
'ALTER TABLE `prc_order_bill_ext` ADD COLUMN `bill_id_bi` bigint NULL', 'SELECT 1');
|
||||
PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
|
||||
UPDATE `prc_order_bill_ext` e JOIN `mig_map_order_bill` m ON m.old_id = e.bill_id SET e.bill_id_bi = m.new_id;
|
||||
UPDATE `prc_order_bill_ext` e JOIN `mig_map_order_bill` m ON BINARY m.old_id = BINARY e.bill_id SET e.bill_id_bi = m.new_id;
|
||||
|
||||
-- ========== 4. 引用表阴影列 ==========
|
||||
SET @sql := IF((SELECT COUNT(*) FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='ar_bill_detail' AND COLUMN_NAME='prc_order_bill_id')>0
|
||||
@@ -189,7 +184,7 @@ SET @sql := IF((SELECT COUNT(*) FROM information_schema.COLUMNS WHERE TABLE_SCHE
|
||||
'ALTER TABLE `ar_bill_detail` ADD COLUMN `prc_order_bill_id_bi` bigint NULL', 'SELECT 1');
|
||||
PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
|
||||
SET @sql := IF((SELECT COUNT(*) FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='ar_bill_detail' AND COLUMN_NAME='prc_order_bill_id')>0,
|
||||
'UPDATE `ar_bill_detail` x JOIN `mig_map_order_bill` m ON m.old_id = x.`prc_order_bill_id` SET x.`prc_order_bill_id_bi` = m.new_id',
|
||||
'UPDATE `ar_bill_detail` x JOIN `mig_map_order_bill` m ON BINARY m.old_id = BINARY x.`prc_order_bill_id` SET x.`prc_order_bill_id_bi` = m.new_id',
|
||||
'SELECT 1');
|
||||
PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
|
||||
|
||||
@@ -198,7 +193,7 @@ SET @sql := IF((SELECT COUNT(*) FROM information_schema.COLUMNS WHERE TABLE_SCHE
|
||||
'ALTER TABLE `ar_bill_detail_fee` ADD COLUMN `prc_income_bill_fee_id_bi` bigint NULL', 'SELECT 1');
|
||||
PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
|
||||
SET @sql := IF((SELECT COUNT(*) FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='ar_bill_detail_fee' AND COLUMN_NAME='prc_income_bill_fee_id')>0,
|
||||
'UPDATE `ar_bill_detail_fee` x JOIN `mig_map_income_fee` m ON m.old_id = x.`prc_income_bill_fee_id` SET x.`prc_income_bill_fee_id_bi` = m.new_id',
|
||||
'UPDATE `ar_bill_detail_fee` x JOIN `mig_map_income_fee` m ON BINARY m.old_id = BINARY x.`prc_income_bill_fee_id` SET x.`prc_income_bill_fee_id_bi` = m.new_id',
|
||||
'SELECT 1');
|
||||
PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
|
||||
|
||||
@@ -207,7 +202,7 @@ SET @sql := IF((SELECT COUNT(*) FROM information_schema.COLUMNS WHERE TABLE_SCHE
|
||||
'ALTER TABLE `ar_bill_generate_task` ADD COLUMN `last_source_bill_id_bi` bigint NULL', 'SELECT 1');
|
||||
PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
|
||||
SET @sql := IF((SELECT COUNT(*) FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='ar_bill_generate_task' AND COLUMN_NAME='last_source_bill_id')>0,
|
||||
'UPDATE `ar_bill_generate_task` x JOIN `mig_map_order_bill` m ON m.old_id = x.`last_source_bill_id` SET x.`last_source_bill_id_bi` = m.new_id WHERE x.`last_source_bill_id` IS NOT NULL AND x.`last_source_bill_id` <> \'\'',
|
||||
'UPDATE `ar_bill_generate_task` x JOIN `mig_map_order_bill` m ON BINARY m.old_id = BINARY x.`last_source_bill_id` SET x.`last_source_bill_id_bi` = m.new_id WHERE x.`last_source_bill_id` IS NOT NULL AND x.`last_source_bill_id` <> \'\'',
|
||||
'SELECT 1');
|
||||
PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
|
||||
|
||||
@@ -216,7 +211,7 @@ SET @sql := IF((SELECT COUNT(*) FROM information_schema.COLUMNS WHERE TABLE_SCHE
|
||||
'ALTER TABLE `prc_billing_task` ADD COLUMN `bill_id_bi` bigint NULL', 'SELECT 1');
|
||||
PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
|
||||
SET @sql := IF((SELECT COUNT(*) FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='prc_billing_task' AND COLUMN_NAME='bill_id')>0,
|
||||
'UPDATE `prc_billing_task` x JOIN `mig_map_order_bill` m ON m.old_id = x.`bill_id` SET x.`bill_id_bi` = m.new_id WHERE x.`bill_id` IS NOT NULL AND x.`bill_id` <> \'\'',
|
||||
'UPDATE `prc_billing_task` x JOIN `mig_map_order_bill` m ON BINARY m.old_id = BINARY x.`bill_id` SET x.`bill_id_bi` = m.new_id WHERE x.`bill_id` IS NOT NULL AND x.`bill_id` <> \'\'',
|
||||
'SELECT 1');
|
||||
PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
|
||||
|
||||
@@ -225,7 +220,7 @@ SET @sql := IF((SELECT COUNT(*) FROM information_schema.COLUMNS WHERE TABLE_SCHE
|
||||
'ALTER TABLE `pay_bill_line` ADD COLUMN `order_bill_id_bi` bigint NULL', 'SELECT 1');
|
||||
PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
|
||||
SET @sql := IF((SELECT COUNT(*) FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='pay_bill_line' AND COLUMN_NAME='order_bill_id')>0,
|
||||
'UPDATE `pay_bill_line` x JOIN `mig_map_order_bill` m ON m.old_id = x.`order_bill_id` SET x.`order_bill_id_bi` = m.new_id WHERE x.`order_bill_id` IS NOT NULL AND x.`order_bill_id` <> \'\'',
|
||||
'UPDATE `pay_bill_line` x JOIN `mig_map_order_bill` m ON BINARY m.old_id = BINARY x.`order_bill_id` SET x.`order_bill_id_bi` = m.new_id WHERE x.`order_bill_id` IS NOT NULL AND x.`order_bill_id` <> \'\'',
|
||||
'SELECT 1');
|
||||
PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
|
||||
|
||||
@@ -234,7 +229,7 @@ SET @sql := IF((SELECT COUNT(*) FROM information_schema.COLUMNS WHERE TABLE_SCHE
|
||||
'ALTER TABLE `pay_bill_line` ADD COLUMN `fee_id_bi` bigint NULL', 'SELECT 1');
|
||||
PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
|
||||
SET @sql := IF((SELECT COUNT(*) FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='pay_bill_line' AND COLUMN_NAME='fee_id')>0,
|
||||
'UPDATE `pay_bill_line` x JOIN `mig_map_pay_fee` m ON m.old_id = x.`fee_id` SET x.`fee_id_bi` = m.new_id WHERE x.`fee_id` IS NOT NULL AND x.`fee_id` <> \'\'',
|
||||
'UPDATE `pay_bill_line` x JOIN `mig_map_pay_fee` m ON BINARY m.old_id = BINARY x.`fee_id` SET x.`fee_id_bi` = m.new_id WHERE x.`fee_id` IS NOT NULL AND x.`fee_id` <> \'\'',
|
||||
'SELECT 1');
|
||||
PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
|
||||
|
||||
@@ -243,7 +238,7 @@ SET @sql := IF((SELECT COUNT(*) FROM information_schema.COLUMNS WHERE TABLE_SCHE
|
||||
'ALTER TABLE `pay_bill_log` ADD COLUMN `fee_id_bi` bigint NULL', 'SELECT 1');
|
||||
PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
|
||||
SET @sql := IF((SELECT COUNT(*) FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='pay_bill_log' AND COLUMN_NAME='fee_id')>0,
|
||||
'UPDATE `pay_bill_log` x JOIN `mig_map_pay_fee` m ON m.old_id = x.`fee_id` SET x.`fee_id_bi` = m.new_id WHERE x.`fee_id` IS NOT NULL AND x.`fee_id` <> \'\'',
|
||||
'UPDATE `pay_bill_log` x JOIN `mig_map_pay_fee` m ON BINARY m.old_id = BINARY x.`fee_id` SET x.`fee_id_bi` = m.new_id WHERE x.`fee_id` IS NOT NULL AND x.`fee_id` <> \'\'',
|
||||
'SELECT 1');
|
||||
PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
|
||||
|
||||
@@ -252,7 +247,7 @@ SET @sql := IF((SELECT COUNT(*) FROM information_schema.COLUMNS WHERE TABLE_SCHE
|
||||
'ALTER TABLE `pay_bill_diff` ADD COLUMN `fee_id_bi` bigint NULL', 'SELECT 1');
|
||||
PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
|
||||
SET @sql := IF((SELECT COUNT(*) FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='pay_bill_diff' AND COLUMN_NAME='fee_id')>0,
|
||||
'UPDATE `pay_bill_diff` x JOIN `mig_map_pay_fee` m ON m.old_id = x.`fee_id` SET x.`fee_id_bi` = m.new_id WHERE x.`fee_id` IS NOT NULL AND x.`fee_id` <> \'\'',
|
||||
'UPDATE `pay_bill_diff` x JOIN `mig_map_pay_fee` m ON BINARY m.old_id = BINARY x.`fee_id` SET x.`fee_id_bi` = m.new_id WHERE x.`fee_id` IS NOT NULL AND x.`fee_id` <> \'\'',
|
||||
'SELECT 1');
|
||||
PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
|
||||
|
||||
@@ -261,7 +256,7 @@ SET @sql := IF((SELECT COUNT(*) FROM information_schema.COLUMNS WHERE TABLE_SCHE
|
||||
'ALTER TABLE `pay_bill_diff` ADD COLUMN `adjust_fee_id_bi` bigint NULL', 'SELECT 1');
|
||||
PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
|
||||
SET @sql := IF((SELECT COUNT(*) FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='pay_bill_diff' AND COLUMN_NAME='adjust_fee_id')>0,
|
||||
'UPDATE `pay_bill_diff` x JOIN `mig_map_pay_fee` m ON m.old_id = x.`adjust_fee_id` SET x.`adjust_fee_id_bi` = m.new_id WHERE x.`adjust_fee_id` IS NOT NULL AND x.`adjust_fee_id` <> \'\'',
|
||||
'UPDATE `pay_bill_diff` x JOIN `mig_map_pay_fee` m ON BINARY m.old_id = BINARY x.`adjust_fee_id` SET x.`adjust_fee_id_bi` = m.new_id WHERE x.`adjust_fee_id` IS NOT NULL AND x.`adjust_fee_id` <> \'\'',
|
||||
'SELECT 1');
|
||||
PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user