kundenkarte/sql/llx_kundenkarte_audit_log.sql
data 1f73e814ff Version 3.3.1 - Visuelle Kabel-Darstellung & Verbindungen
Neue Features:
- Kabelverbindungen zwischen Anlagen-Elementen dokumentieren
- Visuelle Baum-Darstellung mit parallelen vertikalen Linien
- Jedes Element mit eigenem Kabel bekommt eigene Linie
- Horizontale Verbindungslinien zum Element
- Automatische Abstände zwischen Kabel-Gruppen
- Kabeltypen (Medium Types) verwalten
- Gebäude-Typen für Anlagen-Struktur
- Tree-Display-Konfiguration pro System
- Audit-Log für Änderungsverfolgung

Verbesserungen:
- Erste Kabel-Linie rechts, letzte links (korrekte Reihenfolge)
- Horizontale Linien enden am Element-Rand
- Spacer-Zeilen für bessere Übersichtlichkeit
- BOM-Generator für Stücklisten (Prototyp)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-16 15:14:36 +01:00

43 lines
1.8 KiB
SQL

-- ============================================================================
-- Copyright (C) 2026 Alles Watt lauft
--
-- Audit Log table for tracking changes to all KundenKarte objects
-- ============================================================================
CREATE TABLE IF NOT EXISTS llx_kundenkarte_audit_log
(
rowid integer AUTO_INCREMENT PRIMARY KEY,
entity integer DEFAULT 1 NOT NULL,
-- Object identification
object_type varchar(64) NOT NULL COMMENT 'Type: equipment, carrier, panel, anlage, connection',
object_id integer NOT NULL COMMENT 'ID of the object',
object_ref varchar(128) COMMENT 'Reference/label of the object (for history)',
-- Related context
fk_societe integer COMMENT 'Customer/Third party',
fk_anlage integer COMMENT 'Installation/Anlage',
-- Action tracking
action varchar(32) NOT NULL COMMENT 'create, update, delete, move, duplicate',
field_changed varchar(64) COMMENT 'Specific field that was changed',
old_value text COMMENT 'Previous value (JSON for complex data)',
new_value text COMMENT 'New value (JSON for complex data)',
-- User and timestamp
fk_user integer NOT NULL COMMENT 'User who made the change',
user_login varchar(64) COMMENT 'Login name (cached for history)',
date_action datetime NOT NULL,
-- Optional notes
note text COMMENT 'Additional context',
-- IP tracking (optional, for security)
ip_address varchar(45) COMMENT 'IP address of the user',
INDEX idx_audit_object (object_type, object_id),
INDEX idx_audit_societe (fk_societe),
INDEX idx_audit_anlage (fk_anlage),
INDEX idx_audit_date (date_action),
INDEX idx_audit_user (fk_user)
) ENGINE=innodb;