db.go 526 B

12345678910111213141516171819202122232425
  1. // Copyright 2019 getensh.com. All rights reserved.
  2. // Use of this source code is governed by getensh.com.
  3. package transtasker
  4. import "gorm.io/gorm"
  5. // Task 任务函数类型
  6. type Task func(db *gorm.DB) error
  7. // Exec db任务执行
  8. func (p *Task) Exec(db *gorm.DB) error {
  9. return (*p)(db)
  10. }
  11. // Rollback db任务回滚
  12. func (p *Task) Rollback(db *gorm.DB) error {
  13. // 这里不需要真正的rollback,统一一个地方rollback
  14. return nil
  15. }
  16. // NewTask 新建一个db任务
  17. func NewTask(t Task) Tasker {
  18. return &t
  19. }