-- ============================================================ -- Table event_stats_daily - Statistiques d'événements agrégées -- Version: 1.0 -- Date: 2025-12-22 -- ============================================================ -- -- Usage: Exécuter dans les 3 environnements (DEV, REC, PROD) -- mysql -u user -p database < create_event_stats_daily.sql -- -- Description: -- Stocke les statistiques quotidiennes agrégées depuis les -- fichiers JSONL (/logs/events/YYYY-MM-DD.jsonl) -- Alimentée par le CRON aggregate_event_stats.php (1x/nuit) -- -- ============================================================ CREATE TABLE IF NOT EXISTS event_stats_daily ( id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY, -- Clés d'agrégation stat_date DATE NOT NULL COMMENT 'Date des statistiques', entity_id INT UNSIGNED NULL COMMENT 'ID entité (NULL = stats globales super-admin)', event_type VARCHAR(50) NOT NULL COMMENT 'Type événement (login_success, passage_created, etc.)', -- Compteurs count INT UNSIGNED DEFAULT 0 COMMENT 'Nombre d\'occurrences', sum_amount DECIMAL(12,2) DEFAULT 0.00 COMMENT 'Somme des montants (passages/paiements)', unique_users INT UNSIGNED DEFAULT 0 COMMENT 'Nombre d\'utilisateurs distincts', -- Métadonnées agrégées (JSON) metadata JSON NULL COMMENT 'Données agrégées: top secteurs, erreurs fréquentes, etc.', -- Timestamps created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, -- Contraintes UNIQUE KEY uk_date_entity_event (stat_date, entity_id, event_type), INDEX idx_entity_date (entity_id, stat_date), INDEX idx_date (stat_date), INDEX idx_event_type (event_type) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='Statistiques quotidiennes agrégées des événements (EventLogService)'; -- ============================================================ -- Exemples de données attendues -- ============================================================ -- -- | stat_date | entity_id | event_type | count | sum_amount | unique_users | -- |------------|-----------|------------------|-------|------------|--------------| -- | 2025-12-22 | 5 | login_success | 45 | 0.00 | 12 | -- | 2025-12-22 | 5 | passage_created | 128 | 2450.00 | 8 | -- | 2025-12-22 | 5 | stripe_payment_success | 12 | 890.00 | 6 | -- | 2025-12-22 | NULL | login_success | 320 | 0.00 | 85 | <- Global -- -- ============================================================