CREATE TABLE categorie_equipement (
    id BIGSERIAL PRIMARY KEY,
    categorie_id BIGINT NOT NULL,
    equipement_id BIGINT NOT NULL,
    obligatoire BOOLEAN NOT NULL DEFAULT false,
    CONSTRAINT fk_cat_equip_categorie FOREIGN KEY (categorie_id) REFERENCES categorie(id) ON DELETE CASCADE,
    CONSTRAINT fk_cat_equip_equipement FOREIGN KEY (equipement_id) REFERENCES equipement(id) ON DELETE CASCADE
);

-- Migrer les données existantes : associer tous les équipements d'une saison à toutes les catégories de la même saison
-- et transférer la valeur "obligatoire" de l'équipement vers la nouvelle table de liaison
INSERT INTO categorie_equipement (categorie_id, equipement_id, obligatoire)
SELECT c.id, e.id, e.obligatoire
FROM categorie c
JOIN equipement e ON c.saison_id = e.saison_id;

-- Supprimer la colonne "obligatoire" de la table équipement
ALTER TABLE equipement DROP COLUMN obligatoire;
