118 分钟以前 55d694aaae4e421b5e55cd941500e08f85cb5d4d
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
-- 设备区域(车间/位置)父子递归结构
CREATE TABLE IF NOT EXISTS `device_area` (
    `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
    `name` varchar(255) NOT NULL COMMENT '区域/车间/位置名称',
    `parent_id` bigint NULL COMMENT '父级区域ID,根节点为NULL',
    `ancestors` varchar(1000) NULL COMMENT '祖级路径,如 1,2,3',
    `sort` int NULL COMMENT '排序',
    `dept_id` bigint NULL COMMENT '部门ID',
    `tenant_id` bigint NULL COMMENT '租户ID',
    `create_user` int NULL COMMENT '创建人',
    `create_time` datetime NULL COMMENT '创建时间',
    `update_user` int NULL COMMENT '更新人',
    `update_time` datetime NULL COMMENT '更新时间',
    PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='设备区域表(车间/位置)';
 
-- 设备台账关联区域(幂等:已存在列时跳过)
SET @col_exists = (SELECT COUNT(*) FROM information_schema.COLUMNS
    WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'device_ledger' AND COLUMN_NAME = 'area_id');
SET @ddl = IF(@col_exists = 0,
    'ALTER TABLE `device_ledger` ADD COLUMN `area_id` bigint NULL COMMENT ''设备区域ID'' AFTER `dept_id`',
    'SELECT 1');
PREPARE stmt FROM @ddl;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;