Files
geo/api/migration_add_sectors_adresses.sql
Pierre 0687900564 fix: Récupérer l'opération active depuis la table operations
- Corrige l'erreur SQL 'Unknown column fk_operation in users'
- L'opération active est récupérée depuis operations.chk_active = 1
- Jointure avec users pour filtrer par entité de l'admin créateur
- Query: SELECT o.id FROM operations o INNER JOIN users u ON u.fk_entite = o.fk_entite WHERE u.id = ? AND o.chk_active = 1
2026-01-26 16:57:08 +01:00

29 lines
1.3 KiB
SQL
Executable File

-- Migration pour ajouter la table sectors_adresses
-- Cette table stocke les adresses associées à chaque secteur
CREATE TABLE IF NOT EXISTS `sectors_adresses` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`fk_sector` int(11) NOT NULL,
`fk_address` bigint(20) NOT NULL COMMENT 'ID de l''adresse dans la base adresses',
`numero` varchar(10) DEFAULT NULL,
`voie` varchar(255) DEFAULT NULL,
`code_postal` varchar(5) DEFAULT NULL,
`commune` varchar(100) DEFAULT NULL,
`latitude` decimal(10,8) NOT NULL,
`longitude` decimal(11,8) NOT NULL,
`created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
KEY `idx_sector` (`fk_sector`),
KEY `idx_address` (`fk_address`),
KEY `idx_code_postal` (`code_postal`),
KEY `idx_commune` (`commune`),
KEY `idx_coords` (`latitude`, `longitude`),
CONSTRAINT `fk_sectors_adresses_sector` FOREIGN KEY (`fk_sector`) REFERENCES `ope_sectors` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-- Index pour améliorer les performances des requêtes géographiques
CREATE INDEX idx_sectors_adresses_geo ON sectors_adresses (fk_sector, latitude, longitude);
-- Commentaire sur la table
ALTER TABLE `sectors_adresses`
COMMENT = 'Table de liaison entre les secteurs et les adresses géographiques contenues dans leurs périmètres';