-- ============================================================================
-- 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;
