增加字段
This commit is contained in:
@@ -44,6 +44,7 @@ SET NAMES utf8mb4;
|
||||
-- SERVICE_MAN* -> service_man / service_man_code
|
||||
-- TRACK_REMARK/... -> order_remark
|
||||
-- ORDER_STATUS -> order_status
|
||||
-- BL_PICKUP -> bl_pickup
|
||||
-- PICKUP_DATE -> pickup_date
|
||||
-- CREATE_DATE -> order_time
|
||||
-- (task.bill_time) -> biz_date
|
||||
@@ -83,6 +84,7 @@ CREATE TABLE IF NOT EXISTS `prc_order` (
|
||||
`country_code` char(2) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '国家二字码(TAB_ORDER.COUNTRY)',
|
||||
`country_name` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '国家名称(TAB_ORDER.COUNTRY_NAME)',
|
||||
`order_status` tinyint(4) DEFAULT NULL COMMENT '订单状态(TAB_ORDER.ORDER_STATUS)',
|
||||
`bl_pickup` tinyint(4) DEFAULT NULL COMMENT '是否收货(0未收货 1已收货,TAB_ORDER.BL_PICKUP)',
|
||||
`pickup_date` datetime DEFAULT NULL COMMENT '提货/收件时间(TAB_ORDER.PICKUP_DATE)',
|
||||
`biz_date` datetime DEFAULT NULL COMMENT '计费时间(任务bill_time,非上游字段)',
|
||||
`success_status` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'WAITING' COMMENT '计费成功状态:WAITING待处理 SUCCESS成功 FAILED失败',
|
||||
@@ -100,7 +102,8 @@ CREATE TABLE IF NOT EXISTS `prc_order` (
|
||||
KEY `idx_prc_order_pickup_date` (`pickup_date`),
|
||||
KEY `idx_prc_order_success_status` (`success_status`,`create_time`),
|
||||
KEY `idx_prc_order_fail_code` (`fail_code`),
|
||||
KEY `idx_prc_order_product` (`product_code`,`country_code`)
|
||||
KEY `idx_prc_order_product` (`product_code`,`country_code`),
|
||||
KEY `idx_prc_order_bl_pickup` (`bl_pickup`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='订单主表(上游TAB_ORDER核心字段+计费状态)';
|
||||
|
||||
-- ============================================================
|
||||
@@ -232,6 +235,20 @@ SET @sql := IF(
|
||||
);
|
||||
PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
|
||||
|
||||
SET @col := (
|
||||
SELECT COLUMN_NAME FROM information_schema.COLUMNS
|
||||
WHERE TABLE_SCHEMA = DATABASE()
|
||||
AND TABLE_NAME = 'prc_order_ext'
|
||||
AND COLUMN_NAME = 'bl_pickup'
|
||||
LIMIT 1
|
||||
);
|
||||
SET @sql := IF(
|
||||
@col IS NOT NULL,
|
||||
'ALTER TABLE prc_order_ext DROP COLUMN bl_pickup',
|
||||
'SELECT 1'
|
||||
);
|
||||
PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
|
||||
|
||||
-- 3.5 MUST empty ext before FK (old order_id values are former bill_id)
|
||||
-- Run these 3 statements even if the rest of the script already succeeded.
|
||||
TRUNCATE TABLE prc_order_ext;
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
-- prc_order.bl_pickup from TAB_ORDER.BL_PICKUP (0/1)
|
||||
SET NAMES utf8mb4;
|
||||
|
||||
SET @col := (
|
||||
SELECT COLUMN_NAME FROM information_schema.COLUMNS
|
||||
WHERE TABLE_SCHEMA = DATABASE()
|
||||
AND TABLE_NAME = 'prc_order'
|
||||
AND COLUMN_NAME = 'bl_pickup'
|
||||
LIMIT 1
|
||||
);
|
||||
SET @sql := IF(
|
||||
@col IS NULL,
|
||||
'ALTER TABLE prc_order ADD COLUMN bl_pickup tinyint(4) DEFAULT NULL COMMENT \'是否收货(0未收货 1已收货,TAB_ORDER.BL_PICKUP)\' AFTER order_status, ADD KEY idx_prc_order_bl_pickup (bl_pickup)',
|
||||
'SELECT 1'
|
||||
);
|
||||
PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
|
||||
|
||||
-- drop from ext if still present (moved to prc_order)
|
||||
SET @col := (
|
||||
SELECT COLUMN_NAME FROM information_schema.COLUMNS
|
||||
WHERE TABLE_SCHEMA = DATABASE()
|
||||
AND TABLE_NAME = 'prc_order_ext'
|
||||
AND COLUMN_NAME = 'bl_pickup'
|
||||
LIMIT 1
|
||||
);
|
||||
SET @sql := IF(
|
||||
@col IS NOT NULL,
|
||||
'ALTER TABLE prc_order_ext DROP COLUMN bl_pickup',
|
||||
'SELECT 1'
|
||||
);
|
||||
PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
|
||||
Reference in New Issue
Block a user