84 lines
5.1 KiB
SQL
84 lines
5.1 KiB
SQL
-- ============================================
|
|
-- V2.3__space_node_equipment_fields.sql
|
|
-- 同步 mdm_space_node 表与 SpaceNode 实体
|
|
-- ============================================
|
|
|
|
-- 添加基础字段(如果有缺失)
|
|
ALTER TABLE mdm_space_node ADD COLUMN IF NOT EXISTS parent_id UUID;
|
|
ALTER TABLE mdm_space_node ADD COLUMN IF NOT EXISTS project_id UUID;
|
|
ALTER TABLE mdm_space_node ADD COLUMN IF NOT EXISTS tree_path VARCHAR(1000);
|
|
ALTER TABLE mdm_space_node ADD COLUMN IF NOT EXISTS tree_path_name VARCHAR(1000);
|
|
ALTER TABLE mdm_space_node ADD COLUMN IF NOT EXISTS full_name VARCHAR(200);
|
|
ALTER TABLE mdm_space_node ADD COLUMN IF NOT EXISTS short_name VARCHAR(100);
|
|
ALTER TABLE mdm_space_node ADD COLUMN IF NOT EXISTS node_category VARCHAR(50);
|
|
ALTER TABLE mdm_space_node ADD COLUMN IF NOT EXISTS usage_type VARCHAR(50);
|
|
ALTER TABLE mdm_space_node ADD COLUMN IF NOT EXISTS building_area DECIMAL(12,2);
|
|
ALTER TABLE mdm_space_node ADD COLUMN IF NOT EXISTS usable_area DECIMAL(12,2);
|
|
ALTER TABLE mdm_space_node ADD COLUMN IF NOT EXISTS shared_area DECIMAL(12,2);
|
|
ALTER TABLE mdm_space_node ADD COLUMN IF NOT EXISTS land_area DECIMAL(12,2);
|
|
ALTER TABLE mdm_space_node ADD COLUMN IF NOT EXISTS floor_number INTEGER;
|
|
ALTER TABLE mdm_space_node ADD COLUMN IF NOT EXISTS level INTEGER;
|
|
ALTER TABLE mdm_space_node ADD COLUMN IF NOT EXISTS province VARCHAR(50);
|
|
ALTER TABLE mdm_space_node ADD COLUMN IF NOT EXISTS city VARCHAR(50);
|
|
ALTER TABLE mdm_space_node ADD COLUMN IF NOT EXISTS district VARCHAR(50);
|
|
ALTER TABLE mdm_space_node ADD COLUMN IF NOT EXISTS street VARCHAR(200);
|
|
ALTER TABLE mdm_space_node ADD COLUMN IF NOT EXISTS longitude DECIMAL(10,6);
|
|
ALTER TABLE mdm_space_node ADD COLUMN IF NOT EXISTS latitude DECIMAL(10,6);
|
|
ALTER TABLE mdm_space_node ADD COLUMN IF NOT EXISTS altitude DECIMAL(10,2);
|
|
ALTER TABLE mdm_space_node ADD COLUMN IF NOT EXISTS delivery_status VARCHAR(50);
|
|
ALTER TABLE mdm_space_node ADD COLUMN IF NOT EXISTS decoration_status VARCHAR(50);
|
|
ALTER TABLE mdm_space_node ADD COLUMN IF NOT EXISTS is_deleted BOOLEAN DEFAULT FALSE;
|
|
ALTER TABLE mdm_space_node ADD COLUMN IF NOT EXISTS created_by UUID;
|
|
ALTER TABLE mdm_space_node ADD COLUMN IF NOT EXISTS updated_by UUID;
|
|
ALTER TABLE mdm_space_node ADD COLUMN IF NOT EXISTS attributes TEXT;
|
|
|
|
-- 设备扩展字段
|
|
ALTER TABLE mdm_space_node ADD COLUMN IF NOT EXISTS is_equipment BOOLEAN DEFAULT FALSE;
|
|
ALTER TABLE mdm_space_node ADD COLUMN IF NOT EXISTS design_life_years INTEGER;
|
|
ALTER TABLE mdm_space_node ADD COLUMN IF NOT EXISTS rated_power DECIMAL(10,2);
|
|
ALTER TABLE mdm_space_node ADD COLUMN IF NOT EXISTS rated_voltage DECIMAL(10,2);
|
|
ALTER TABLE mdm_space_node ADD COLUMN IF NOT EXISTS rated_current DECIMAL(10,2);
|
|
ALTER TABLE mdm_space_node ADD COLUMN IF NOT EXISTS maintenance_contract_no VARCHAR(100);
|
|
ALTER TABLE mdm_space_node ADD COLUMN IF NOT EXISTS maintenance_contract_start DATE;
|
|
ALTER TABLE mdm_space_node ADD COLUMN IF NOT EXISTS maintenance_contract_end DATE;
|
|
ALTER TABLE mdm_space_node ADD COLUMN IF NOT EXISTS maintenance_vendor VARCHAR(200);
|
|
ALTER TABLE mdm_space_node ADD COLUMN IF NOT EXISTS maintenance_vendor_phone VARCHAR(20);
|
|
ALTER TABLE mdm_space_node ADD COLUMN IF NOT EXISTS maintenance_vendor_contact VARCHAR(100);
|
|
ALTER TABLE mdm_space_node ADD COLUMN IF NOT EXISTS special_equipment_type VARCHAR(50);
|
|
ALTER TABLE mdm_space_node ADD COLUMN IF NOT EXISTS special_equipment_cert VARCHAR(100);
|
|
ALTER TABLE mdm_space_node ADD COLUMN IF NOT EXISTS inspection_cycle INTEGER;
|
|
ALTER TABLE mdm_space_node ADD COLUMN IF NOT EXISTS next_inspection_date DATE;
|
|
ALTER TABLE mdm_space_node ADD COLUMN IF NOT EXISTS last_inspection_date DATE;
|
|
ALTER TABLE mdm_space_node ADD COLUMN IF NOT EXISTS last_inspection_result VARCHAR(20);
|
|
ALTER TABLE mdm_space_node ADD COLUMN IF NOT EXISTS common_spare_parts TEXT;
|
|
ALTER TABLE mdm_space_node ADD COLUMN IF NOT EXISTS energy_consumption_standard DECIMAL(12,2);
|
|
ALTER TABLE mdm_space_node ADD COLUMN IF NOT EXISTS installation_environment VARCHAR(50);
|
|
ALTER TABLE mdm_space_node ADD COLUMN IF NOT EXISTS protection_level VARCHAR(20);
|
|
|
|
-- 添加索引
|
|
CREATE INDEX IF NOT EXISTS idx_space_node_project ON mdm_space_node(project_id);
|
|
CREATE INDEX IF NOT EXISTS idx_space_node_parent ON mdm_space_node(parent_id);
|
|
CREATE INDEX IF NOT EXISTS idx_space_node_type ON mdm_space_node(node_type);
|
|
|
|
-- ============================================
|
|
-- ProjectConfig 表(如不存在则创建)
|
|
-- ============================================
|
|
CREATE TABLE IF NOT EXISTS mdm_project_config (
|
|
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
|
project_id UUID NOT NULL,
|
|
enable_reservation BOOLEAN DEFAULT FALSE,
|
|
enable_visitor BOOLEAN DEFAULT FALSE,
|
|
enable_complaint BOOLEAN DEFAULT TRUE,
|
|
enable_payment BOOLEAN DEFAULT FALSE,
|
|
enable_announcement BOOLEAN DEFAULT TRUE,
|
|
enable_survey BOOLEAN DEFAULT FALSE,
|
|
enable_vote BOOLEAN DEFAULT FALSE,
|
|
enable_maintenance BOOLEAN DEFAULT TRUE,
|
|
enable_asset BOOLEAN DEFAULT FALSE,
|
|
custom_config TEXT,
|
|
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
|
);
|
|
|
|
CREATE INDEX IF NOT EXISTS idx_project_config_project ON mdm_project_config(project_id);
|