@@ -1,15 +1,14 @@
-- Region: CN
-- Schema: baiyue_firstleg
-- Purpose: 对齐墨家测量收件箱字段并允许人工报价费用快照缺少船司价格。
-- Preconditions: 连接必须指向 baiyue_firstleg; 若 墨家收件箱已有记录,必须先完成经批准的重量回填方案;本文件不执行 UPDATE 。
-- Preconditions: 连接必须指向 baiyue_firstleg;墨家收件表已存在;未收到的设备重量保留 NULL,不回填为 0 。
-- Postconditions: 墨家收件箱字段、入库费用船司价格字段与当前 Firstleg 基线一致。
SET NAMES utf8mb4 ;
SET @ guard = IF (
EXISTS ( SELECT 1 FROM information_schema . tables WHERE table_schema = DATABASE ( ) AND table_name = ' fl_mojia_measurement_receipt ' )
AND EXISTS ( SELECT 1 FROM fl_mojia_measurement_receipt LIMIT 1 ) ,
' SELECT 1 FROM migration_blocked_firstleg_mojia_receipt_requires_weight_review ' ,
NOT EXISTS ( SELECT 1 FROM information_schema . tables WHERE table_schema = DATABASE ( ) AND table_name = ' fl_mojia_measurement_receipt ' ) ,
' SELECT 1 FROM migration_blocked_firstleg_mojia_receipt_table_missing ' ,
' SELECT 1 '
) ;
PREPARE stmt FROM @ guard ; EXECUTE stmt ; DEALLOCATE PREPARE stmt ;
@@ -21,7 +20,10 @@ SET @ddl = IF(NOT EXISTS (SELECT 1 FROM information_schema.columns WHERE table_s
' ALTER TABLE fl_mojia_measurement_receipt ADD COLUMN measurement_kind VARCHAR(16) NOT NULL DEFAULT '' BOX_LABEL '' COMMENT '' 测量分流:BOX_LABEL箱唛;SKU一件代发SKU '' AFTER inbound_code ' , ' SELECT 1 ' ) ;
PREPARE stmt FROM @ ddl ; EXECUTE stmt ; DEALLOCATE PREPARE stmt ;
SET @ ddl = IF ( NOT EXISTS ( SELECT 1 FROM information_schema . columns WHERE table_schema = DATABASE ( ) AND table_name = ' fl_mojia_measurement_receipt ' AND column_name = ' weight_kg ' ) ,
' ALTER TABLE fl_mojia_measurement_receipt ADD COLUMN weight_kg DECIMAL(18,3) NOT NULL COMMENT '' 设备实测重量kg '' AFTER height_cm ' , ' SELECT 1 ' ) ;
' ALTER TABLE fl_mojia_measurement_receipt ADD COLUMN weight_kg DECIMAL(18,3) NULL COMMENT '' 设备实测重量kg;未收到时为空,不以0代替 '' AFTER height_cm ' , ' SELECT 1 ' ) ;
PREPARE stmt FROM @ ddl ; EXECUTE stmt ; DEALLOCATE PREPARE stmt ;
SET @ ddl = IF ( EXISTS ( SELECT 1 FROM information_schema . columns WHERE table_schema = DATABASE ( ) AND table_name = ' fl_mojia_measurement_receipt ' AND column_name = ' weight_kg ' AND is_nullable = ' NO ' ) ,
' ALTER TABLE fl_mojia_measurement_receipt MODIFY COLUMN weight_kg DECIMAL(18,3) NULL COMMENT '' 设备实测重量kg;未收到时为空,不以0代替 '' ' , ' SELECT 1 ' ) ;
PREPARE stmt FROM @ ddl ; EXECUTE stmt ; DEALLOCATE PREPARE stmt ;
SET @ ddl = IF ( NOT EXISTS ( SELECT 1 FROM information_schema . columns WHERE table_schema = DATABASE ( ) AND table_name = ' fl_mojia_measurement_receipt ' AND column_name = ' sync_status ' ) ,
' ALTER TABLE fl_mojia_measurement_receipt ADD COLUMN sync_status VARCHAR(24) NULL COMMENT '' SKU同步状态:PENDING/SYNCING/SUCCESS/FAILED '' AFTER status ' , ' SELECT 1 ' ) ;