From f392f12f76a21389ddd7b86baef0fe78f76e63e7 Mon Sep 17 00:00:00 2001 From: LittleSheep Date: Sun, 26 Jan 2025 13:49:52 +0800 Subject: [PATCH] :bug: Trying to fix duplicate key when inserting --- pkg/internal/server/api/admin_api.go | 3 ++- pkg/internal/services/reader.go | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/pkg/internal/server/api/admin_api.go b/pkg/internal/server/api/admin_api.go index 7acd34a..ca760be 100644 --- a/pkg/internal/server/api/admin_api.go +++ b/pkg/internal/server/api/admin_api.go @@ -46,7 +46,8 @@ func adminTriggerScanTask(c *fiber.Ctx) error { return item.Hash }) database.C.Clauses(clause.OnConflict{ - UpdateAll: true, + Columns: []clause.Column{{Name: "hash"}}, + DoUpdates: clause.Assignments(map[string]interface{}{}), }).Create(&result) log.Info().Str("source", src.ID).Int("count", len(result)).Msg("Scanned a news sources.") diff --git a/pkg/internal/services/reader.go b/pkg/internal/services/reader.go index 630da7e..52f86b6 100644 --- a/pkg/internal/services/reader.go +++ b/pkg/internal/services/reader.go @@ -48,7 +48,8 @@ func ScanNewsSources(eager ...bool) { return item.Hash }) database.C.Clauses(clause.OnConflict{ - UpdateAll: true, + Columns: []clause.Column{{Name: "hash"}}, + DoUpdates: clause.Assignments(map[string]interface{}{}), }).Create(&result) log.Info().Str("source", src.ID).Int("count", len(result)).Msg("Scanned a news sources.")