45 lines
2.0 KiB
SQL
45 lines
2.0 KiB
SQL
-- ============================================================
|
|
-- erp_mp_mbom 表补充缺失字段
|
|
-- 修复: Unknown column 'business_type' in 'field list'
|
|
-- MpMbomMapper 与 MpMbom 实体需要的字段需与表结构一致
|
|
-- 生成日期: 2026-02-06
|
|
-- ============================================================
|
|
|
|
SET NAMES utf8mb4;
|
|
|
|
-- 辅助存储过程 (若已存在可跳过)
|
|
DROP PROCEDURE IF EXISTS `proc_add_column_if_not_exists`;
|
|
|
|
DELIMITER //
|
|
CREATE PROCEDURE `proc_add_column_if_not_exists`(
|
|
IN p_table_name VARCHAR(64),
|
|
IN p_column_name VARCHAR(64),
|
|
IN p_column_definition VARCHAR(500)
|
|
)
|
|
BEGIN
|
|
DECLARE v_count INT DEFAULT 0;
|
|
SELECT COUNT(*) INTO v_count
|
|
FROM information_schema.COLUMNS
|
|
WHERE TABLE_SCHEMA = DATABASE()
|
|
AND TABLE_NAME = p_table_name
|
|
AND COLUMN_NAME = p_column_name;
|
|
IF v_count = 0 THEN
|
|
SET @sql = CONCAT('ALTER TABLE `', p_table_name, '` ADD COLUMN `', p_column_name, '` ', p_column_definition);
|
|
PREPARE stmt FROM @sql;
|
|
EXECUTE stmt;
|
|
DEALLOCATE PREPARE stmt;
|
|
END IF;
|
|
END //
|
|
DELIMITER ;
|
|
|
|
-- erp_mp_mbom 补充 MpMbomMapper 所需的缺失字段
|
|
CALL proc_add_column_if_not_exists('erp_mp_mbom', 'business_type', "varchar(20) DEFAULT NULL COMMENT '业务类型(BOM运算/生产补料)'");
|
|
CALL proc_add_column_if_not_exists('erp_mp_mbom', 'sales_order_id', "bigint(20) DEFAULT NULL COMMENT '销售订单ID'");
|
|
CALL proc_add_column_if_not_exists('erp_mp_mbom', 'operator_id', "bigint(20) DEFAULT NULL COMMENT '操作员ID'");
|
|
CALL proc_add_column_if_not_exists('erp_mp_mbom', 'operator_name', "varchar(50) DEFAULT NULL COMMENT '操作员名称'");
|
|
CALL proc_add_column_if_not_exists('erp_mp_mbom', 'approver_id', "bigint(20) DEFAULT NULL COMMENT '审核员ID'");
|
|
CALL proc_add_column_if_not_exists('erp_mp_mbom', 'approver_name', "varchar(50) DEFAULT NULL COMMENT '审核员名称'");
|
|
CALL proc_add_column_if_not_exists('erp_mp_mbom', 'approve_date', "datetime DEFAULT NULL COMMENT '审核日期'");
|
|
|
|
DROP PROCEDURE IF EXISTS `proc_add_column_if_not_exists`;
|