Fix user creation errors by handling empty emails properly

Adjust user creation schema to allow null emails, update data handling to convert empty strings to null, and provide a SQL script to clean up existing duplicate empty email entries, resolving the `users_email_key` constraint violation.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: a8a78c07-e900-425c-a577-5b4c5894379d
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/1957c339-2757-4d1f-8e92-e9f71a1ce58e/a8a78c07-e900-425c-a577-5b4c5894379d/aiHrulP
This commit is contained in:
michaelschal committed 2025-08-11 20:08:37 +00:00
1 parent b886f317ca
commit c77ea88e9d
5 files changed
+244 -4

No files matched your search

+13 -2
View File
@@ -52,8 +52,19 @@ Si l'interface affiche "Aucun utilisateur trouvé" :
- `production-users-debug.sql` : Problème de récupération des utilisateurs
### Problème Création d'Utilisateur
Si la création d'utilisateur échoue :
#### Erreur "duplicate key value violates unique constraint users_email_key"
Cette erreur survient quand plusieurs utilisateurs ont un email vide (`""`) car PostgreSQL traite les chaînes vides comme des valeurs uniques.
**Solution** :
1. Exécutez le script de correction :
```bash
psql $DATABASE_URL -f fix-duplicate-empty-email.sql
```
2. Redéployez l'application (le code a été corrigé pour utiliser `NULL` au lieu de `""`)
#### Tests de Création
1. **Test Manuel** : Utilisez `test-create-user-production.js`
```bash
PRODUCTION_HOST=votre-domaine.com SESSION_COOKIE="connect.sid=..." node test-create-user-production.js
@@ -62,7 +73,7 @@ Si la création d'utilisateur échoue :
2. **Vérification Logs** : Cherchez ces messages d'erreur :
- `❌ Password hashing failed`
- `❌ Storage createUser error`
- Database connection errors
- `duplicate key value violates unique constraint`
### Logs de Débogage Disponibles
**Récupération Utilisateurs :**