@@ -248,6 +248,12 @@ func ExtractQueriesAndViews(ctx context.Context, logger *zap.Logger, dbm db.Data
248
248
}
249
249
250
250
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
+
251
257
err := filepath .Walk (config .QueriesGitPath , func (path string , info fs.FileInfo , err error ) error {
252
258
if ! info .IsDir () && strings .HasSuffix (path , ".yaml" ) {
253
259
id := strings .TrimSuffix (info .Name (), ".yaml" )
@@ -388,7 +394,10 @@ func ExtractQueriesAndViews(ctx context.Context, logger *zap.Logger, dbm db.Data
388
394
389
395
if len (tags ) > 0 {
390
396
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
392
401
if err != nil {
393
402
logger .Error ("failure in insert tags" , zap .Error (err ))
394
403
return err
@@ -425,12 +434,6 @@ func ExtractQueriesAndViews(ctx context.Context, logger *zap.Logger, dbm db.Data
425
434
}
426
435
427
436
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
-
434
437
for _ , q := range queries {
435
438
q .QueryViews = nil
436
439
err := tx .Clauses (clause.OnConflict {
0 commit comments