mirror of
https://forge.chapril.org/tykayn/osm-commerces
synced 2025-10-04 17:04:53 +02:00
retapage accueil, gestion de Demandes
This commit is contained in:
parent
d777221d0d
commit
f4c5e048ff
26 changed files with 2498 additions and 292 deletions
62
clean_duplicate_stats_README.md
Normal file
62
clean_duplicate_stats_README.md
Normal file
|
@ -0,0 +1,62 @@
|
|||
# Script de nettoyage des doublons de villes
|
||||
|
||||
Ce dossier contient un script SQL pour résoudre le problème de contrainte d'unicité sur le code INSEE des villes dans la table `stats`.
|
||||
|
||||
## Problème
|
||||
|
||||
Lorsque vous rencontrez l'erreur suivante :
|
||||
|
||||
```
|
||||
SQLSTATE[23505]: Unique violation: 7 ERREUR: n'a pas pu créer l'index unique « uniq_stats_zone »
|
||||
DETAIL: La clé (zone)=(91111) est dupliquée.
|
||||
```
|
||||
|
||||
Cela signifie qu'il existe des doublons dans la table `stats` avec le même code INSEE (colonne `zone`), ce qui empêche la création de la contrainte d'unicité.
|
||||
|
||||
## Solution
|
||||
|
||||
Le script `clean_duplicate_stats.sql` permet de :
|
||||
|
||||
1. Désactiver temporairement la contrainte d'unicité
|
||||
2. Identifier et supprimer les doublons de villes, en gardant l'entrée la plus ancienne
|
||||
3. Réactiver la contrainte d'unicité
|
||||
|
||||
## Comment utiliser le script
|
||||
|
||||
### Précautions importantes
|
||||
|
||||
⚠️ **ATTENTION** : Ce script supprime des données de la base. Assurez-vous de faire une sauvegarde complète de votre base de données avant de l'exécuter.
|
||||
|
||||
Les entités liées aux enregistrements `Stats` supprimés (comme `CityFollowUp` et `Place`) seront également supprimées si des contraintes de clé étrangère avec `ON DELETE CASCADE` sont définies dans la base de données.
|
||||
|
||||
### Exécution du script
|
||||
|
||||
Pour exécuter le script sur une base PostgreSQL :
|
||||
|
||||
```bash
|
||||
psql -U username -d database_name -f clean_duplicate_stats.sql
|
||||
```
|
||||
|
||||
Remplacez `username` par votre nom d'utilisateur PostgreSQL et `database_name` par le nom de votre base de données.
|
||||
|
||||
### Vérification
|
||||
|
||||
Le script inclut des requêtes pour :
|
||||
- Afficher le nombre de doublons qui seront supprimés
|
||||
- Afficher les détails des doublons avant suppression
|
||||
- Vérifier qu'il n'y a plus de doublons après l'opération
|
||||
|
||||
## Fonctionnement technique
|
||||
|
||||
Le script :
|
||||
|
||||
1. Désactive la contrainte d'unicité `uniq_stats_zone`
|
||||
2. Crée une table temporaire pour identifier les doublons
|
||||
3. Utilise `ROW_NUMBER()` pour conserver l'entrée la plus ancienne de chaque groupe de doublons
|
||||
4. Supprime les doublons identifiés
|
||||
5. Réactive la contrainte d'unicité
|
||||
6. Vérifie qu'il n'y a plus de doublons
|
||||
|
||||
## Après l'exécution
|
||||
|
||||
Une fois le script exécuté avec succès, vous ne devriez plus rencontrer l'erreur de violation de contrainte d'unicité lors de l'exécution des commandes Symfony.
|
Loading…
Add table
Add a link
Reference in a new issue