-- ======================================================== -- 物料信息模块数据库扩展脚本(二期) -- 日期: 2026-05-27 -- 说明: -- 1. 新增字段: performance_params, material, purpose, image_url -- 2. 修改 brand 字段注释为"厂家/品牌" -- 3. 添加物料详情页菜单配置 -- ======================================================== DELIMITER // CREATE PROCEDURE AddColumnIfNotExists(IN tableName VARCHAR(64), IN colName VARCHAR(64), IN colDef VARCHAR(255)) BEGIN IF NOT EXISTS ( SELECT 1 FROM information_schema.columns WHERE table_schema = DATABASE() AND table_name = tableName AND column_name = colName ) THEN SET @sql = CONCAT('ALTER TABLE ', tableName, ' ADD COLUMN ', colName, ' ', colDef); PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt; END IF; END // DELIMITER ; -- 添加性能参数字段(JSON格式存储) CALL AddColumnIfNotExists('biz_material', 'performance_params', "TEXT COMMENT '性能参数(JSON格式)'"); -- 添加材质字段 CALL AddColumnIfNotExists('biz_material', 'material', "VARCHAR(100) DEFAULT '' COMMENT '材质(铜/铝合金/PVC等)'"); -- 添加用途字段 CALL AddColumnIfNotExists('biz_material', 'purpose', "VARCHAR(500) DEFAULT '' COMMENT '用途'"); -- 添加物料图片URL字段 CALL AddColumnIfNotExists('biz_material', 'image_url', "VARCHAR(500) DEFAULT '' COMMENT '物料图片URL'"); -- 删除存储过程 DROP PROCEDURE IF EXISTS AddColumnIfNotExists; -- 修改brand字段注释为"厂家/品牌" ALTER TABLE biz_material MODIFY COLUMN brand VARCHAR(100) COMMENT '厂家/品牌'; -- 添加物料详情页菜单配置 INSERT IGNORE INTO sys_menu(menu_id, menu_name, parent_id, order_num, path, component, query, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) VALUES (2011, '物料详情', 2001, 1, 'detail', 'bid/material/detail', NULL, 1, 0, 'C', '1', '0', 'bid:material:detail', '#', 'admin', NOW(), '', '', ''), (2012, '物料新增', 2001, 2, 'add', 'bid/material/add', NULL, 1, 0, 'C', '1', '0', 'bid:material:add', '#', 'admin', NOW(), '', '', ''), (2013, '物料修改', 2001, 3, 'edit', 'bid/material/edit', NULL, 1, 0, 'C', '1', '0', 'bid:material:edit', '#', 'admin', NOW(), '', '', '');