diff --git a/tools/historise-evcs.mjs b/tools/historise-evcs.mjs index 1ebdab8..56517f2 100644 --- a/tools/historise-evcs.mjs +++ b/tools/historise-evcs.mjs @@ -537,7 +537,16 @@ async function migrer(client) { // que le proprietaire a lui-meme arbitrees le 13/09 (cf. la reparation // ci-dessus) : c'est une vraie confirmation humaine, seulement donnee de // vive voix. La perdre serait jeter l'information qu'il a fournie. - const { rowCount: bascules } = await client.query( + // ⚠️ REJEU. La premiere version de ce bloc n'etait pas garde : a chaque + // redemarrage elle remettait les lignes anterieures a faux puis les six + // arbitrees a vrai. Le resultat restait JUSTE — l'operation est idempotente + // en sortie — mais elle ecrivait une ligne de journal trompeuse a chaque + // fois, quatre en une journee, qui serait apparue en annotation sur tous les + // tableaux. On garde donc sur la trace elle-meme : si elle existe, c'est + // fait. + const { rows: dejaFait } = await client.query( + `SELECT 1 FROM evenement WHERE resume LIKE 'Semantique de vehicule_sur%' LIMIT 1`); + const { rowCount: bascules } = dejaFait.length ? { rowCount: 0 } : await client.query( `UPDATE session_charge SET vehicule_sur = false WHERE vehicule_sur AND debut < '2026-09-14'::date`); if (bascules) {