diff --git a/database.go b/database.go index b6373d842598a443364248074f2accddf1483aba..a34c63395eb691c2cb3389680891636c94f5701c 100644 --- a/database.go +++ b/database.go @@ -104,9 +104,17 @@ func createOrUpdateJob(job GenericJob, db *gorm.DB) error { } } else { - tx.Unscoped().Model(&existingJob).Where("id = ?", existingJob.ID).Select("*").Omit("deleted_at", "created_at", "job_id").Update("deleted_at", nil) + // remove deleted from + r := tx.Unscoped().Model(&existingJob).Where("id = ?", existingJob.ID).Select("*"). + Omit("deleted_at", "created_at", "job_id").Update("deleted_at", nil) + if r.Error != nil { + Trace("Error while deleting job", "error", r.Error) + return r.Error + } - tx.Model(&existingJob).Where("id = ?", existingJob.ID).Select("*").Omit("deleted_at", "created_at", "job_id").UpdateColumns(SchedulerPersistence{ + // update scheduler + resultStats := tx.Model(&existingJob).Where("id = ?", existingJob.ID).Select("*"). + Omit("deleted_at", "created_at", "job_id").UpdateColumns(SchedulerPersistence{ Type: "", Interval: 0, Spec: "", @@ -116,9 +124,15 @@ func createOrUpdateJob(job GenericJob, db *gorm.DB) error { Executed: false, }) - err := tx.Model(&existingJob).Updates(permJob).Error - if err != nil { - return err + if resultStats.Error != nil { + Trace("Error while updating job stats", "error", resultStats.Error) + return resultStats.Error + } + + r2 := tx.Model(&existingJob).Where("id = ?", existingJob.ID).Select("*"). + Omit("deleted_at", "created_at", "job_id").Updates(permJob) + if r2.Error != nil { + return r2.Error } }