小料需求计划
This commit is contained in:
@@ -0,0 +1,67 @@
|
||||
-- 原材料需求计划补充物料ID和计划日期(用于按日期+物料汇总)
|
||||
SET @ddl_sql = (
|
||||
SELECT IFNULL(
|
||||
CONCAT(
|
||||
'ALTER TABLE `mes_xsl_raw_material_demand_plan` ',
|
||||
GROUP_CONCAT(stmt SEPARATOR ', ')
|
||||
),
|
||||
'SELECT 1'
|
||||
)
|
||||
FROM (
|
||||
SELECT
|
||||
CASE
|
||||
WHEN NOT EXISTS (
|
||||
SELECT 1
|
||||
FROM information_schema.COLUMNS
|
||||
WHERE TABLE_SCHEMA = DATABASE()
|
||||
AND TABLE_NAME = 'mes_xsl_raw_material_demand_plan'
|
||||
AND COLUMN_NAME = 'material_id'
|
||||
)
|
||||
THEN 'ADD COLUMN `material_id` varchar(32) DEFAULT NULL COMMENT ''物料ID(密炼物料信息ID)'' AFTER `machine_name`'
|
||||
ELSE NULL
|
||||
END AS stmt
|
||||
UNION ALL
|
||||
SELECT
|
||||
CASE
|
||||
WHEN NOT EXISTS (
|
||||
SELECT 1
|
||||
FROM information_schema.COLUMNS
|
||||
WHERE TABLE_SCHEMA = DATABASE()
|
||||
AND TABLE_NAME = 'mes_xsl_raw_material_demand_plan'
|
||||
AND COLUMN_NAME = 'plan_date'
|
||||
)
|
||||
THEN 'ADD COLUMN `plan_date` date DEFAULT NULL COMMENT ''计划日期'' AFTER `actual_weight`'
|
||||
ELSE NULL
|
||||
END AS stmt
|
||||
UNION ALL
|
||||
SELECT
|
||||
CASE
|
||||
WHEN NOT EXISTS (
|
||||
SELECT 1
|
||||
FROM information_schema.STATISTICS
|
||||
WHERE TABLE_SCHEMA = DATABASE()
|
||||
AND TABLE_NAME = 'mes_xsl_raw_material_demand_plan'
|
||||
AND INDEX_NAME = 'idx_raw_material_demand_material'
|
||||
)
|
||||
THEN 'ADD KEY `idx_raw_material_demand_material` (`material_id`)'
|
||||
ELSE NULL
|
||||
END AS stmt
|
||||
UNION ALL
|
||||
SELECT
|
||||
CASE
|
||||
WHEN NOT EXISTS (
|
||||
SELECT 1
|
||||
FROM information_schema.STATISTICS
|
||||
WHERE TABLE_SCHEMA = DATABASE()
|
||||
AND TABLE_NAME = 'mes_xsl_raw_material_demand_plan'
|
||||
AND INDEX_NAME = 'idx_raw_material_demand_date'
|
||||
)
|
||||
THEN 'ADD KEY `idx_raw_material_demand_date` (`plan_date`)'
|
||||
ELSE NULL
|
||||
END AS stmt
|
||||
) t
|
||||
WHERE t.stmt IS NOT NULL
|
||||
);
|
||||
PREPARE stmt FROM @ddl_sql;
|
||||
EXECUTE stmt;
|
||||
DEALLOCATE PREPARE stmt;
|
||||
Reference in New Issue
Block a user