-- Migration: Corriger les projets avec numero_projet vide
-- Date: 2025-01-XX
-- Description: Génère automatiquement un numero_projet pour les projets qui n'en ont pas

-- Mettre à jour les projets avec numero_projet vide ou NULL
UPDATE projets 
SET numero_projet = CONCAT('PROJ-', YEAR(created_at), '-', LPAD(id, 4, '0'))
WHERE numero_projet IS NULL OR numero_projet = '';

-- Vérifier s'il y a des doublons après la mise à jour
-- Si oui, utiliser un format avec timestamp pour garantir l'unicité
UPDATE projets p1
INNER JOIN (
    SELECT id, numero_projet, created_at
    FROM projets
    WHERE numero_projet IN (
        SELECT numero_projet
        FROM projets
        GROUP BY numero_projet
        HAVING COUNT(*) > 1
    )
) p2 ON p1.numero_projet = p2.numero_projet AND p1.id != p2.id
SET p1.numero_projet = CONCAT('PROJ-', YEAR(p1.created_at), '-', LPAD(p1.id, 4, '0'), '-', UNIX_TIMESTAMP(p1.created_at))
WHERE p1.numero_projet IS NOT NULL AND p1.numero_projet != '';

