feat: Version 3.5.2 - Configuration Stripe et gestion des immeubles

- Configuration complète Stripe pour les 3 environnements (DEV/REC/PROD)
  * DEV: Clés TEST Pierre (mode test)
  * REC: Clés TEST Client (mode test)
  * PROD: Clés LIVE Client (mode live)
- Ajout de la gestion des bases de données immeubles/bâtiments
  * Configuration buildings_database pour DEV/REC/PROD
  * Service BuildingService pour enrichissement des adresses
- Optimisations pages et améliorations ergonomie
- Mises à jour des dépendances Composer
- Nettoyage des fichiers obsolètes

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
pierre
2025-11-09 18:26:27 +01:00
parent 21657a3820
commit 2f5946a184
812 changed files with 142105 additions and 25992 deletions

View File

@@ -0,0 +1,59 @@
-- ========================================
-- Script d'ajout de contraintes UNIQUE
-- Pour éviter les doublons dans ope_users et ope_users_sectors
-- Date: 2025-10-10
-- ========================================
USE pra_geo;
-- ========================================
-- 1. TABLE ope_users
-- ========================================
-- Vérifier et supprimer les doublons existants avant d'ajouter la contrainte
-- (Garde la première occurrence, supprime les duplicatas)
DELETE ou1 FROM ope_users ou1
INNER JOIN ope_users ou2
WHERE ou1.id > ou2.id
AND ou1.fk_operation = ou2.fk_operation
AND ou1.fk_user = ou2.fk_user;
-- Ajouter la contrainte UNIQUE sur (fk_operation, fk_user)
ALTER TABLE ope_users
ADD UNIQUE KEY `idx_operation_user` (`fk_operation`, `fk_user`);
-- ========================================
-- 2. TABLE ope_users_sectors
-- ========================================
-- Vérifier et supprimer les doublons existants avant d'ajouter la contrainte
-- (Garde la première occurrence, supprime les duplicatas)
DELETE ous1 FROM ope_users_sectors ous1
INNER JOIN ope_users_sectors ous2
WHERE ous1.id > ous2.id
AND ous1.fk_operation = ous2.fk_operation
AND ous1.fk_user = ous2.fk_user
AND ous1.fk_sector = ous2.fk_sector;
-- Ajouter la contrainte UNIQUE sur (fk_operation, fk_user, fk_sector)
ALTER TABLE ope_users_sectors
ADD UNIQUE KEY `idx_operation_user_sector` (`fk_operation`, `fk_user`, `fk_sector`);
-- ========================================
-- Vérification
-- ========================================
-- Vérifier les contraintes ajoutées
SHOW INDEX FROM ope_users WHERE Key_name = 'idx_operation_user';
SHOW INDEX FROM ope_users_sectors WHERE Key_name = 'idx_operation_user_sector';
-- Compter les doublons restants (devrait retourner 0 lignes)
SELECT fk_operation, fk_user, COUNT(*) as count
FROM ope_users
GROUP BY fk_operation, fk_user
HAVING count > 1;
SELECT fk_operation, fk_user, fk_sector, COUNT(*) as count
FROM ope_users_sectors
GROUP BY fk_operation, fk_user, fk_sector
HAVING count > 1;