-- Migration: Améliorer la table factures_patterns pour l'apprentissage intelligent
-- Date: 2025-01-21

-- Note: Ce fichier est sécurisé, toutes les erreurs sont ignorées si l'élément existe déjà

-- Ajouter la colonne fournisseur_reel
ALTER TABLE `factures_patterns` 
ADD COLUMN `fournisseur_reel` VARCHAR(255) NOT NULL DEFAULT '' COMMENT 'Nom réel du fournisseur validé par l\'utilisateur' 
AFTER `fournisseur_pattern`;

-- Ajouter la colonne compte_charge_defaut
ALTER TABLE `factures_patterns` 
ADD COLUMN `compte_charge_defaut` VARCHAR(20) DEFAULT NULL COMMENT 'Compte de charge suggéré pour ce fournisseur'
AFTER `fournisseur_reel`;

-- Créer la clé unique (MySQL ignorera si elle existe déjà)
ALTER TABLE `factures_patterns` 
ADD UNIQUE KEY `unique_copro_pattern` (`id_copro`, `fournisseur_pattern`(191));

-- Créer un index sur fournisseur_reel
ALTER TABLE `factures_patterns` 
ADD INDEX `idx_fournisseur_reel` (`fournisseur_reel`(191));

-- Créer un index composite pour l'apprentissage
ALTER TABLE `factures_patterns` 
ADD INDEX `idx_learning` (`id_copro`, `nb_utilisations`, `derniere_utilisation`);

-- Mettre à jour les patterns existants (synchroniser avec fournisseur_id)
UPDATE `factures_patterns` fp
INNER JOIN `fournisseurs` f ON f.id = fp.fournisseur_id
SET fp.fournisseur_reel = f.nom
WHERE (fp.fournisseur_reel IS NULL OR fp.fournisseur_reel = '')
  AND fp.fournisseur_id IS NOT NULL;
