Skip to content

Commit 907475e

Browse files
Arta AsadiArta Asadi
Arta Asadi
authored and
Arta Asadi
committed
fix: fix duplicate key
1 parent 430e542 commit 907475e

File tree

1 file changed

+10
-7
lines changed
  • jobs/post-install-job/job/migrations/inventory

1 file changed

+10
-7
lines changed

jobs/post-install-job/job/migrations/inventory/migrator.go

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -248,6 +248,12 @@ func ExtractQueriesAndViews(ctx context.Context, logger *zap.Logger, dbm db.Data
248248
}
249249

250250
err = dbm.ORM.Transaction(func(tx *gorm.DB) error {
251+
tx.Model(&models.QueryView{}).Where("1=1").Unscoped().Delete(&models.QueryView{})
252+
tx.Model(&models.QueryParameter{}).Where("1=1").Unscoped().Delete(&models.QueryParameter{})
253+
tx.Model(&models.NamedQuery{}).Where("1=1").Unscoped().Delete(&models.NamedQuery{})
254+
tx.Model(&models.NamedQueryTag{}).Where("1=1").Unscoped().Delete(&models.NamedQueryTag{})
255+
tx.Model(&models.Query{}).Where("1=1").Unscoped().Delete(&models.Query{})
256+
251257
err := filepath.Walk(config.QueriesGitPath, func(path string, info fs.FileInfo, err error) error {
252258
if !info.IsDir() && strings.HasSuffix(path, ".yaml") {
253259
id := strings.TrimSuffix(info.Name(), ".yaml")
@@ -388,7 +394,10 @@ func ExtractQueriesAndViews(ctx context.Context, logger *zap.Logger, dbm db.Data
388394

389395
if len(tags) > 0 {
390396
for _, tag := range tags {
391-
err = tx.Model(&models.NamedQueryTag{}).Create(&tag).Error
397+
err = tx.Clauses(clause.OnConflict{
398+
Columns: []clause.Column{{Name: "named_query_id"}, {Name: "key"}},
399+
DoNothing: true,
400+
}).Create(&tag).Error
392401
if err != nil {
393402
logger.Error("failure in insert tags", zap.Error(err))
394403
return err
@@ -425,12 +434,6 @@ func ExtractQueriesAndViews(ctx context.Context, logger *zap.Logger, dbm db.Data
425434
}
426435

427436
err = dbm.ORM.WithContext(ctx).Transaction(func(tx *gorm.DB) error {
428-
tx.Model(&models.QueryView{}).Where("1=1").Unscoped().Delete(&models.QueryView{})
429-
tx.Model(&models.QueryParameter{}).Where("1=1").Unscoped().Delete(&models.QueryParameter{})
430-
tx.Model(&models.NamedQuery{}).Where("1=1").Unscoped().Delete(&models.NamedQuery{})
431-
tx.Model(&models.NamedQueryTag{}).Where("1=1").Unscoped().Delete(&models.NamedQueryTag{})
432-
tx.Model(&models.Query{}).Where("1=1").Unscoped().Delete(&models.Query{})
433-
434437
for _, q := range queries {
435438
q.QueryViews = nil
436439
err := tx.Clauses(clause.OnConflict{

0 commit comments

Comments
 (0)