fleet/server/datastore/mysql/delete.go
Victor Vrantchan 046f75295e consolidate delete operations in mysql store (#746)
Adds a helper method which soft deletes entities from the database.
2017-01-04 13:18:21 -05:00

24 lines
477 B
Go

package mysql
import (
"fmt"
"github.com/pkg/errors"
)
func (d *Datastore) deleteEntity(dbTable string, id uint) error {
deleteStmt := fmt.Sprintf(
`
UPDATE %s SET deleted_at = ?, deleted = TRUE
WHERE id = ?
`, dbTable)
result, err := d.db.Exec(deleteStmt, d.clock.Now(), id)
if err != nil {
return errors.Wrap(err, fmt.Sprintf("delete %s", dbTable))
}
rows, _ := result.RowsAffected()
if rows != 1 {
return notFound(dbTable).WithID(id)
}
return nil
}