code.gitea.io/gitea@v1.21.7/models/migrations/v1_11/v116.go (about)

     1  // Copyright 2019 The Gitea Authors. All rights reserved.
     2  // SPDX-License-Identifier: MIT
     3  
     4  package v1_11 //nolint
     5  
     6  import (
     7  	"xorm.io/xorm"
     8  )
     9  
    10  func ExtendTrackedTimes(x *xorm.Engine) error {
    11  	type TrackedTime struct {
    12  		Time    int64 `xorm:"NOT NULL"`
    13  		Deleted bool  `xorm:"NOT NULL DEFAULT false"`
    14  	}
    15  
    16  	sess := x.NewSession()
    17  	defer sess.Close()
    18  
    19  	if err := sess.Begin(); err != nil {
    20  		return err
    21  	}
    22  
    23  	if _, err := sess.Exec("DELETE FROM tracked_time WHERE time IS NULL"); err != nil {
    24  		return err
    25  	}
    26  
    27  	if err := sess.Sync(new(TrackedTime)); err != nil {
    28  		return err
    29  	}
    30  
    31  	return sess.Commit()
    32  }