code.gitea.io/gitea@v1.21.7/models/migrations/v1_15/v183.go (about)

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