Files
baiyue-firstleg/firstleg/src/main/resources/db/phase3-pda-release-allocation-migration.sql
T
2026-08-09 20:35:11 +08:00

38 lines
1.8 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
-- 三期 PDA 部分拣货释放策略与 A0 共享资源唯一标识。
SET NAMES utf8mb4;
DROP PROCEDURE IF EXISTS phase3_pda_add_column;
DELIMITER $$
CREATE PROCEDURE phase3_pda_add_column(IN p_table VARCHAR(64), IN p_column VARCHAR(64), IN p_ddl TEXT)
BEGIN
IF NOT EXISTS (
SELECT 1 FROM information_schema.columns
WHERE table_schema = DATABASE() AND table_name = p_table AND column_name = p_column
) THEN
SET @phase3_pda_ddl = CONCAT('ALTER TABLE `', p_table, '` ADD COLUMN ', p_ddl);
PREPARE phase3_pda_stmt FROM @phase3_pda_ddl;
EXECUTE phase3_pda_stmt;
DEALLOCATE PREPARE phase3_pda_stmt;
END IF;
END$$
DELIMITER ;
CALL phase3_pda_add_column('fl_loading_pick_item', 'release_mode',
'`release_mode` VARCHAR(10) NULL COMMENT ''AUTO按比例释放,MANUAL按人工选择释放'' AFTER `item_status`');
CALL phase3_pda_add_column('fl_loading_pick_item', 'release_location_ids',
'`release_location_ids` JSON NULL COMMENT ''人工选择释放库位ID;空数组表示明确释放0个'' AFTER `release_mode`');
CALL phase3_pda_add_column('fl_inbound_pallet_allocation', 'reservation_id',
'`reservation_id` BIGINT UNSIGNED NULL COMMENT ''仓库预占资源唯一ID,A0共享场景用于区分托盘'' AFTER `location_code`');
SET @phase3_pda_index_ddl = IF(
EXISTS (SELECT 1 FROM information_schema.statistics
WHERE table_schema = DATABASE() AND table_name = 'fl_inbound_pallet_allocation'
AND index_name = 'idx_allocation_reservation'),
'SELECT 1',
'ALTER TABLE fl_inbound_pallet_allocation ADD INDEX idx_allocation_reservation (reservation_id)');
PREPARE phase3_pda_index_stmt FROM @phase3_pda_index_ddl;
EXECUTE phase3_pda_index_stmt;
DEALLOCATE PREPARE phase3_pda_index_stmt;
DROP PROCEDURE IF EXISTS phase3_pda_add_column;