feat: Gestion des secteurs et migration v3.0.4+304
- Ajout système complet de gestion des secteurs avec contours géographiques - Import des contours départementaux depuis GeoJSON - API REST pour la gestion des secteurs (/api/sectors) - Service de géolocalisation pour déterminer les secteurs - Migration base de données avec tables x_departements_contours et sectors_adresses - Interface Flutter pour visualisation et gestion des secteurs - Ajout thème sombre dans l'application - Corrections diverses et optimisations 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
55
api/migrations/integrate_contours_to_departements.sql
Normal file
55
api/migrations/integrate_contours_to_departements.sql
Normal file
@@ -0,0 +1,55 @@
|
||||
-- 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;
|
||||
Reference in New Issue
Block a user