gitea源码

v183.go 780B

123456789101112131415161718192021222324252627282930313233343536373839
  1. // Copyright 2021 The Gitea Authors. All rights reserved.
  2. // SPDX-License-Identifier: MIT
  3. package v1_15
  4. import (
  5. "fmt"
  6. "time"
  7. "code.gitea.io/gitea/modules/timeutil"
  8. "xorm.io/xorm"
  9. )
  10. func CreatePushMirrorTable(x *xorm.Engine) error {
  11. type PushMirror struct {
  12. ID int64 `xorm:"pk autoincr"`
  13. RepoID int64 `xorm:"INDEX"`
  14. RemoteName string
  15. Interval time.Duration
  16. CreatedUnix timeutil.TimeStamp `xorm:"created"`
  17. LastUpdateUnix timeutil.TimeStamp `xorm:"INDEX last_update"`
  18. LastError string `xorm:"text"`
  19. }
  20. sess := x.NewSession()
  21. defer sess.Close()
  22. if err := sess.Begin(); err != nil {
  23. return err
  24. }
  25. if err := sess.Sync(new(PushMirror)); err != nil {
  26. return fmt.Errorf("Sync: %w", err)
  27. }
  28. return sess.Commit()
  29. }