-- Migration: enforce uniqueness & length constraints for compte_401
-- Date: 2025-08-22

-- Truncate part after '401' to maximum 10 chars (overall length 13)
UPDATE fournisseurs
   SET compte_401 = CONCAT('401', SUBSTRING(SUBSTRING(compte_401,4),1,10))
 WHERE compte_401 IS NOT NULL AND compte_401 <> '' AND (CHAR_LENGTH(compte_401) > 13 OR LEFT(compte_401,3)='401');

-- Remove existing simple index if present (ignore errors)
ALTER TABLE fournisseurs DROP INDEX idx_fournisseurs_compte_401;

-- Add composite unique index per copro
ALTER TABLE fournisseurs
  ADD UNIQUE KEY uniq_copro_compte401 (id_copro, compte_401),
  ADD INDEX idx_fournisseurs_compte_401 (compte_401);
