-- Script pour intégrer les données de x_departements_contours dans x_departements -- Ce script ajoute une colonne contour à x_departements et y copie les données -- Note : Les colonnes bbox_* ne sont pas migrées car elles ne sont pas utilisées dans l'API -- 1. Ajouter la colonne contour à x_departements si elle n'existe pas déjà ALTER TABLE x_departements ADD COLUMN IF NOT EXISTS contour GEOMETRY DEFAULT NULL COMMENT 'Contour géographique du département' AFTER dept_limitrophes; -- 2. Mettre à jour x_departements avec les contours depuis x_departements_contours -- On copie directement les contours non NULL UPDATE x_departements d INNER JOIN x_departements_contours dc ON d.code = dc.code_dept SET d.contour = dc.contour WHERE dc.contour IS NOT NULL; -- 3. Vérifier les départements sans contour (hors DOM-TOM et Corse historique) SELECT d.code, d.libelle, CASE WHEN d.code IN ('20', '971', '972', '973', '974', '975', '976') THEN 'DOM-TOM ou Corse historique - Normal' WHEN d.contour IS NULL THEN 'Pas de contour' ELSE 'OK' END as statut FROM x_departements d WHERE d.contour IS NULL AND d.code NOT IN ('20', '971', '972', '973', '974', '975', '976') ORDER BY d.code; -- 4. Créer l'index spatial -- Les valeurs NULL sont autorisées dans un index spatial MySQL ALTER TABLE x_departements ADD SPATIAL INDEX idx_contour (contour); -- 5. Vérifier le nombre de départements mis à jour SELECT COUNT(*) as total_departements, SUM(CASE WHEN contour IS NOT NULL THEN 1 ELSE 0 END) as departements_avec_contour, SUM(CASE WHEN contour IS NULL THEN 1 ELSE 0 END) as departements_sans_contour FROM x_departements; -- 6. Lister les départements qui n'ont pas de contour (s'il y en a) SELECT code, libelle FROM x_departements WHERE contour IS NULL ORDER BY code; -- 7. Optionnel : Après vérification, vous pouvez supprimer la table x_departements_contours -- ATTENTION : Ne décommentez cette ligne qu'après avoir vérifié que toutes les données sont bien migrées -- DROP TABLE IF EXISTS x_departements_contours; -- 8. Mettre à jour les statistiques de la table pour optimiser les requêtes spatiales ANALYZE TABLE x_departements;