Files
LogiFlow/CORRECTION_PRODUCTION_ANNONCES.md
T
michaelschal 3f6ad3bb23 Fix errors when modifying announcements in production
Correct PostgreSQL join condition in announcement update logic to use username instead of ID.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: cc2d271b-82f0-4d6a-9302-a0b067ffb429
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/1957c339-2757-4d1f-8e92-e9f71a1ce58e/cc2d271b-82f0-4d6a-9302-a0b067ffb429/JTP6mhE
2025-08-18 12:28:12 +00:00

1.7 KiB

CORRECTION URGENTE - Erreurs 500 Modification Annonces Production

Problème

Erreurs 500 lors de la modification des annonces en production dues à une jointure PostgreSQL incorrecte.

Solution - Modifications à appliquer sur votre serveur

1. Fichier server/routes.ts - Ligne 44

AVANT :

customerOrders, nocodbConfigs, dlcProducts, tasks, invoiceVerifications, dashboardMessages

APRÈS :

customerOrders, nocodbConfig, dlcProducts, tasks, invoiceVerificationCache, dashboardMessages

2. Fichier server/announcementStorage.ts - Ligne 46

AVANT :

.leftJoin(users, eq(dashboardMessages.createdBy, users.id))

APRÈS :

.leftJoin(users, eq(dashboardMessages.createdBy, users.username))

3. Fichier server/announcementStorage.ts - Lignes 70-76

REMPLACER la méthode updateAnnouncement par :

async updateAnnouncement(id: number, announcement: Partial<InsertAnnouncement>): Promise<DashboardMessage> {
  console.log('📝 [DB] Updating announcement with data:', announcement);
  
  const [updated] = await db
    .update(dashboardMessages)
    .set(announcement)
    .where(eq(dashboardMessages.id, id))
    .returning();
    
  console.log('📝 [DB] Updated announcement:', updated);
  
  if (!updated) {
    throw new Error(`Announcement with id ${id} not found`);
  }
  
  return updated;
}

Cause du problème

La jointure PostgreSQL utilisait users.id au lieu de users.username pour la relation avec le champ createdBy, qui contient des usernames en production.

Test après correction

Après application des modifications, redémarrez votre serveur et testez la modification d'une annonce.