优化
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
-- 单箱当前测量记录增量;可重复执行。
|
||||
USE baiyue_firstleg;
|
||||
|
||||
DROP PROCEDURE IF EXISTS phase2_add_carton_measurement_column;
|
||||
DELIMITER $$
|
||||
CREATE PROCEDURE phase2_add_carton_measurement_column(
|
||||
IN p_column VARCHAR(64), IN p_definition TEXT)
|
||||
BEGIN
|
||||
IF NOT EXISTS (
|
||||
SELECT 1 FROM information_schema.COLUMNS
|
||||
WHERE TABLE_SCHEMA = DATABASE()
|
||||
AND TABLE_NAME = 'fl_inbound_measurement_item'
|
||||
AND COLUMN_NAME = p_column
|
||||
) THEN
|
||||
SET @ddl = CONCAT(
|
||||
'ALTER TABLE fl_inbound_measurement_item ADD COLUMN `',
|
||||
p_column, '` ', p_definition);
|
||||
PREPARE statement FROM @ddl;
|
||||
EXECUTE statement;
|
||||
DEALLOCATE PREPARE statement;
|
||||
END IF;
|
||||
END$$
|
||||
DELIMITER ;
|
||||
|
||||
CALL phase2_add_carton_measurement_column(
|
||||
'box_code',
|
||||
'VARCHAR(128) NULL COMMENT ''柏悦唛头箱号;设备单箱测量时同一客户内唯一'' AFTER external_detail_no');
|
||||
CALL phase2_add_carton_measurement_column(
|
||||
'machine_no',
|
||||
'VARCHAR(64) NULL COMMENT ''本次测量设备编号'' AFTER source_image_file_id');
|
||||
CALL phase2_add_carton_measurement_column(
|
||||
'device_measured_at',
|
||||
'DATETIME(3) NULL COMMENT ''本次设备测量时间'' AFTER machine_no');
|
||||
CALL phase2_add_carton_measurement_column(
|
||||
'updated_at',
|
||||
'DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3) COMMENT ''最后更新时间'' AFTER created_at');
|
||||
|
||||
DROP PROCEDURE IF EXISTS phase2_add_carton_measurement_column;
|
||||
|
||||
SET @has_box_code_index = (
|
||||
SELECT COUNT(*) FROM information_schema.STATISTICS
|
||||
WHERE TABLE_SCHEMA = DATABASE()
|
||||
AND TABLE_NAME = 'fl_inbound_measurement_item'
|
||||
AND INDEX_NAME = 'uk_measure_box_code'
|
||||
);
|
||||
SET @ddl = IF(
|
||||
@has_box_code_index = 0,
|
||||
'ALTER TABLE fl_inbound_measurement_item ADD UNIQUE KEY uk_measure_box_code (tenant_id, box_code)',
|
||||
'SELECT 1'
|
||||
);
|
||||
PREPARE statement FROM @ddl;
|
||||
EXECUTE statement;
|
||||
DEALLOCATE PREPARE statement;
|
||||
Reference in New Issue
Block a user