Files
my-mom-system/prd/db/alter_erp_mp_mbom_add_columns.sql

45 lines
2.0 KiB
MySQL
Raw Normal View History

2026-03-06 02:02:59 +08:00
-- ============================================================
-- 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`;