Checkpoint: Audit et refactoring : centralisation robuste du suivi lu/non lu, suppression des captures SQL silencieuses, migration d’unicité avec déduplication des lectures existantes, correction du reclassement AAP via classifyAap, nettoyage de cinq composants template non utilisés, nettoyage des lectures lors des purges/fusions RSS et découpage dynamique du frontend. 27 tests Vitest, TypeScript et build de production validés.
This commit is contained in:
10
drizzle/0012_fluffy_boomer.sql
Normal file
10
drizzle/0012_fluffy_boomer.sql
Normal file
@@ -0,0 +1,10 @@
|
||||
-- Conserver la première lecture de chaque article avant d'imposer l'unicité.
|
||||
DELETE duplicate_read
|
||||
FROM `article_reads` AS duplicate_read
|
||||
INNER JOIN `article_reads` AS retained_read
|
||||
ON duplicate_read.`userId` = retained_read.`userId`
|
||||
AND duplicate_read.`articleType` = retained_read.`articleType`
|
||||
AND duplicate_read.`articleId` = retained_read.`articleId`
|
||||
AND duplicate_read.`id` > retained_read.`id`;
|
||||
--> statement-breakpoint
|
||||
ALTER TABLE `article_reads` ADD CONSTRAINT `article_reads_user_type_article_unique` UNIQUE(`userId`,`articleType`,`articleId`);
|
||||
Reference in New Issue
Block a user