fix: utiliser text+JSON.stringify pour territoires/departements (fix double-sérialisation Drizzle)
This commit is contained in:
@@ -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"),
|
||||||
|
|||||||
@@ -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,
|
||||||
})
|
})
|
||||||
|
|||||||
Reference in New Issue
Block a user