From a3c872c0bac6afc60eadcd2e3c098c05391ea8de Mon Sep 17 00:00:00 2001 From: Aditya Thebe Date: Wed, 1 May 2024 22:14:59 +0545 Subject: [PATCH] fix: conflict clause --- pkg/db/canary.go | 13 +------------ pkg/db/topology.go | 13 +------------ 2 files changed, 2 insertions(+), 24 deletions(-) diff --git a/pkg/db/canary.go b/pkg/db/canary.go index 6efa2c001..805260280 100644 --- a/pkg/db/canary.go +++ b/pkg/db/canary.go @@ -373,18 +373,7 @@ func CreateCheck(ctx context.Context, canary pkg.Canary, check *pkg.Check) error func PersistCanaryModel(ctx context.Context, model pkg.Canary) (*pkg.Canary, error) { db := ctx.DB() err := db.Clauses( - clause.OnConflict{ - Columns: []clause.Column{{Name: "agent_id"}, {Name: "name"}, {Name: "namespace"}, {Name: "source"}}, - TargetWhere: clause.Where{ - Exprs: []clause.Expression{ - clause.Or( - clause.Eq{Column: "deleted_at", Value: gorm.Expr("NULL")}, - clause.Not(clause.Eq{Column: "agent_id", Value: uuid.Nil.String()}), - ), - }, - }, - DoUpdates: clause.AssignmentColumns([]string{"labels", "spec"}), - }, + models.Canary{}.ConflictClause(), clause.Returning{}, ).Create(&model).Error diff --git a/pkg/db/topology.go b/pkg/db/topology.go index 61e05d3f9..74d0607d3 100644 --- a/pkg/db/topology.go +++ b/pkg/db/topology.go @@ -41,18 +41,7 @@ func PersistV1Topology(ctx context.Context, t *v1.Topology) (pkg.Topology, bool, func PersistTopology(ctx context.Context, model *pkg.Topology) (bool, error) { tx := ctx.DB(). - Clauses(clause.OnConflict{ - Columns: []clause.Column{{Name: "agent_id"}, {Name: "name"}, {Name: "namespace"}}, - TargetWhere: clause.Where{ - Exprs: []clause.Expression{ - clause.Or( - clause.Eq{Column: "deleted_at", Value: gorm.Expr("NULL")}, - clause.Not(clause.Eq{Column: "agent_id", Value: uuid.Nil.String()}), - ), - }, - }, - DoUpdates: clause.AssignmentColumns([]string{"labels", "spec"}), - }). + Clauses(models.Topology{}.OnConflictClause()). Create(model) if tx.Error != nil { return false, tx.Error