kundenkarte/sql/update_3.1.0.sql
2026-02-11 06:50:23 +01:00

41 lines
1.7 KiB
SQL

-- ============================================================================
-- Copyright (C) 2026 Alles Watt lauft
--
-- Update script for version 3.1.0
-- Adds panels (Schaltschrankfelder) and FI protection assignment
-- ============================================================================
-- 1. Create equipment_panel table
CREATE TABLE IF NOT EXISTS llx_kundenkarte_equipment_panel (
rowid INTEGER AUTO_INCREMENT PRIMARY KEY,
entity INTEGER DEFAULT 1 NOT NULL,
fk_anlage INTEGER NOT NULL,
label VARCHAR(128),
position INTEGER DEFAULT 0,
note_private TEXT,
status SMALLINT DEFAULT 1,
date_creation DATETIME,
tms TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
fk_user_creat INTEGER,
fk_user_modif INTEGER,
import_key VARCHAR(14),
INDEX idx_panel_anlage (fk_anlage)
) ENGINE=InnoDB;
-- 2. Add fk_panel to equipment_carrier (optional - carrier can belong to panel or directly to anlage)
ALTER TABLE llx_kundenkarte_equipment_carrier
ADD COLUMN fk_panel INTEGER DEFAULT NULL AFTER fk_anlage,
ADD INDEX idx_carrier_panel (fk_panel);
-- 3. Add fk_protection to equipment (for FI/RCD assignment)
ALTER TABLE llx_kundenkarte_equipment
ADD COLUMN fk_protection INTEGER DEFAULT NULL
COMMENT 'FK to protection device (FI/RCD) that protects this equipment'
AFTER fk_product,
ADD INDEX idx_equipment_protection (fk_protection);
-- 4. Add protection_label field to show above protected equipment
ALTER TABLE llx_kundenkarte_equipment
ADD COLUMN protection_label VARCHAR(64) DEFAULT NULL
COMMENT 'Label shown above equipment when part of protection group'
AFTER fk_protection;