code.gitea.io/gitea@v1.21.7/models/migrations/v1_21/v274.go (about) 1 // Copyright 2023 The Gitea Authors. All rights reserved. 2 // SPDX-License-Identifier: MIT 3 4 package v1_21 //nolint 5 import ( 6 "time" 7 8 "code.gitea.io/gitea/modules/timeutil" 9 10 "xorm.io/xorm" 11 ) 12 13 func AddExpiredUnixColumnInActionArtifactTable(x *xorm.Engine) error { 14 type ActionArtifact struct { 15 ExpiredUnix timeutil.TimeStamp `xorm:"index"` // time when the artifact will be expired 16 } 17 if err := x.Sync(new(ActionArtifact)); err != nil { 18 return err 19 } 20 return updateArtifactsExpiredUnixTo90Days(x) 21 } 22 23 func updateArtifactsExpiredUnixTo90Days(x *xorm.Engine) error { 24 sess := x.NewSession() 25 defer sess.Close() 26 27 if err := sess.Begin(); err != nil { 28 return err 29 } 30 expiredTime := time.Now().AddDate(0, 0, 90).Unix() 31 if _, err := sess.Exec(`UPDATE action_artifact SET expired_unix=? WHERE status='2' AND expired_unix is NULL`, expiredTime); err != nil { 32 return err 33 } 34 35 return sess.Commit() 36 }