Checkpoint: Ajout de la table processed_dedup_keys : chaque article traité par le moteur RSS est enregistré dans cette table. Lors des passages suivants du cron, si la dedupKey est présente dans cette table, l'article est ignoré même s'il a été supprimé de veille_items ou aap_items.
This commit is contained in:
@@ -213,3 +213,17 @@ export const articleReads = mysqlTable("article_reads", {
|
||||
|
||||
export type ArticleRead = typeof articleReads.$inferSelect;
|
||||
export type InsertArticleRead = typeof articleReads.$inferInsert;
|
||||
|
||||
// ─── Tombstones : articles déjà traités (empêche la réinsertion après purge) ──
|
||||
|
||||
export const processedDedupKeys = mysqlTable("processed_dedup_keys", {
|
||||
id: int("id").autoincrement().primaryKey(),
|
||||
dedupKey: varchar("dedupKey", { length: 64 }).notNull().unique(),
|
||||
// Type de contenu (veille ou aap)
|
||||
feedType: mysqlEnum("feedType", ["veille", "aap"]).notNull(),
|
||||
// Date à laquelle l'article a été traité pour la première fois
|
||||
processedAt: timestamp("processedAt").defaultNow().notNull(),
|
||||
});
|
||||
|
||||
export type ProcessedDedupKey = typeof processedDedupKeys.$inferSelect;
|
||||
export type InsertProcessedDedupKey = typeof processedDedupKeys.$inferInsert;
|
||||
|
||||
Reference in New Issue
Block a user