kundenkarte/sql/llx_kundenkarte_audit_log.sql
data 06f8bc8fde Version 3.5.0 - Drag & Drop Sortierung, Duplicate-Key-Fix
- Drag & Drop Sortierung im Anlagenbaum (Geschwister-Ebene)
- UNIQUE KEY uk_kundenkarte_societe_system um fk_contact erweitert
- Automatische DB-Migration beim Modul-Aktivieren
- Visueller Abstand zwischen Root-Elementen

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-18 21:05:13 +01:00

43 lines
1.8 KiB
SQL
Executable file

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