-- Migration : catégories de véhicules + contrôle de visibilité par utilisateur
-- À exécuter une fois sur la base de données de production

-- 1. Table des catégories
CREATE TABLE IF NOT EXISTS vehicle_categories (
    id   INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(100) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- 2. Table de liaison user ↔ catégories autorisées
--    Si aucune ligne pour un user → il voit tous les véhicules
--    Si des lignes existent → il ne voit que les véhicules de ses catégories
CREATE TABLE IF NOT EXISTS user_category_access (
    user_id     INT NOT NULL,
    category_id INT NOT NULL,
    PRIMARY KEY (user_id, category_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- 3. Ajout de la colonne category_id sur vehicles (NULL = sans catégorie)
ALTER TABLE vehicles
    ADD COLUMN category_id INT NULL DEFAULT NULL;
