addSql('ALTER TABLE school_classes DROP CONSTRAINT IF EXISTS school_classes_tenant_id_academic_year_id_name_key'); // Créer un index unique partiel qui exclut les classes archivées $this->addSql(<<<'SQL' CREATE UNIQUE INDEX idx_school_classes_unique_name_active ON school_classes (tenant_id, academic_year_id, name) WHERE deleted_at IS NULL SQL); } public function down(Schema $schema): void { // Supprimer l'index partiel $this->addSql('DROP INDEX IF EXISTS idx_school_classes_unique_name_active'); // Restaurer la contrainte unique originale $this->addSql('ALTER TABLE school_classes ADD CONSTRAINT school_classes_tenant_id_academic_year_id_name_key UNIQUE (tenant_id, academic_year_id, name)'); } }