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

View File

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