1234567891011121314151617181920212223242526272829 |
- package utils
- import (
- "errors"
- "fmt"
- "time"
- "gorm.io/gorm"
- )
- func ClearTable(db *gorm.DB, tableName string, compareField string, interval string) error {
- if db == nil {
- return errors.New("db Cannot be empty")
- }
- duration, err := time.ParseDuration(interval)
- if err != nil {
- return err
- }
- if duration < 0 {
- return errors.New("parse duration < 0")
- }
- return db.Debug().Exec(fmt.Sprintf("DELETE FROM %s WHERE %s < ?", tableName, compareField), time.Now().Add(-duration)).Error
- }
|