fix: utiliser text+JSON.stringify pour territoires/departements (fix double-sérialisation Drizzle)

This commit is contained in:
Manus Deploy
2026-05-03 06:14:02 -04:00
parent 7fc7f7d1de
commit 10c2226481
2 changed files with 10 additions and 10 deletions

View File

@@ -66,8 +66,8 @@ export const veilleItems = mysqlTable("veille_items", {
categorie: varchar("categorie", { length: 128 }), categorie: varchar("categorie", { length: 128 }),
niveau: varchar("niveau", { length: 128 }), niveau: varchar("niveau", { length: 128 }),
territoire: varchar("territoire", { length: 255 }), territoire: varchar("territoire", { length: 255 }),
// Liste JSON des territoires (multi-département) ex: ["Isère","Savoie"] // Liste JSON des territoires (multi-département) ex: ["Isère","Savoie"] — stocké en text pour compatibilité Drizzle/MySQL
territoires: json("territoires").$type<string[]>(), territoires: text("territoires"),
resume: text("resume"), resume: text("resume"),
source: varchar("source", { length: 512 }), source: varchar("source", { length: 512 }),
passage: text("passage"), passage: text("passage"),
@@ -91,8 +91,8 @@ export const aapItems = mysqlTable("aap_items", {
categorie: mysqlEnum("categorie", ["Handicap", "PA", "Enfance", "Précarité", "Sanitaire", "Autre"]).notNull(), categorie: mysqlEnum("categorie", ["Handicap", "PA", "Enfance", "Précarité", "Sanitaire", "Autre"]).notNull(),
region: varchar("region", { length: 255 }), region: varchar("region", { length: 255 }),
departement: varchar("departement", { length: 255 }), departement: varchar("departement", { length: 255 }),
// Liste JSON des départements (multi-département) ex: ["Isère (38)","Savoie (73)"] // Liste JSON des départements (multi-département) ex: ["Isère (38)","Savoie (73)"] — stocké en text pour compatibilité Drizzle/MySQL
departements: json("departements").$type<string[]>(), departements: text("departements"),
dateCloture: timestamp("dateCloture"), dateCloture: timestamp("dateCloture"),
datePublication: timestamp("datePublication"), datePublication: timestamp("datePublication"),
lien: text("lien"), lien: text("lien"),

View File

@@ -364,7 +364,7 @@ async function processFeed(feed: RssFeed): Promise<FetchResult> {
categorie, categorie,
niveau, niveau,
territoire, territoire,
territoires: (territoire !== "France" && territoire !== "Auvergne-Rhône-Alpes" ? [territoire] : []) as any, territoires: JSON.stringify(territoire !== "France" && territoire !== "Auvergne-Rhône-Alpes" ? [territoire] : []),
resume: description || null, resume: description || null,
source: feed.name, source: feed.name,
lien: link || null, lien: link || null,
@@ -409,7 +409,7 @@ async function processFeed(feed: RssFeed): Promise<FetchResult> {
categorie, categorie,
region, region,
departement, departement,
departements: (departement ? [departement] : []) as any, departements: JSON.stringify(departement ? [departement] : []),
lien: link || null, lien: link || null,
datePublication: pubDate, datePublication: pubDate,
}); });
@@ -508,7 +508,7 @@ export async function migrateExistingItems(): Promise<MigrationSummary> {
categorie: newCategorie, categorie: newCategorie,
niveau: newNiveau, niveau: newNiveau,
territoire: newTerritoire, territoire: newTerritoire,
territoires: (newTerritoire !== "France" && newTerritoire !== "Auvergne-Rhône-Alpes" ? [newTerritoire] : []) as any, territoires: JSON.stringify(newTerritoire !== "France" && newTerritoire !== "Auvergne-Rhône-Alpes" ? [newTerritoire] : []),
titre: row.titre, titre: row.titre,
dedupKey: newDedupKey, dedupKey: newDedupKey,
}) })
@@ -541,7 +541,7 @@ export async function migrateExistingItems(): Promise<MigrationSummary> {
categorie: newCategorie, categorie: newCategorie,
niveau: allTerritoires.length > 1 ? "departemental" : "regional", niveau: allTerritoires.length > 1 ? "departemental" : "regional",
territoire: allTerritoires.length > 0 ? allTerritoires[0] : "Auvergne-Rhône-Alpes", territoire: allTerritoires.length > 0 ? allTerritoires[0] : "Auvergne-Rhône-Alpes",
territoires: allTerritoires as any, territoires: JSON.stringify(allTerritoires),
titre: primary.titre, titre: primary.titre,
dedupKey: newDedupKey, dedupKey: newDedupKey,
}) })
@@ -579,7 +579,7 @@ export async function migrateExistingItems(): Promise<MigrationSummary> {
.set({ .set({
region: newRegion, region: newRegion,
departement: newDept, departement: newDept,
departements: (newDept ? [newDept] : []) as any, departements: JSON.stringify(newDept ? [newDept] : []),
titre: row.titre, titre: row.titre,
dedupKey: newDedupKey, dedupKey: newDedupKey,
}) })
@@ -606,7 +606,7 @@ export async function migrateExistingItems(): Promise<MigrationSummary> {
.set({ .set({
region: "Auvergne-Rhône-Alpes", region: "Auvergne-Rhône-Alpes",
departement: allDepts.length > 0 ? allDepts[0] : null, departement: allDepts.length > 0 ? allDepts[0] : null,
departements: allDepts as any, departements: JSON.stringify(allDepts),
titre: primary.titre, titre: primary.titre,
dedupKey: newDedupKey, dedupKey: newDedupKey,
}) })