diff --git a/cmd/doctor.go b/cmd/doctor.go index 188740dbce..3593670047 100644 --- a/cmd/doctor.go +++ b/cmd/doctor.go @@ -21,7 +21,6 @@ import ( "code.gitea.io/gitea/services/doctor" "github.com/urfave/cli/v3" - "xorm.io/xorm" ) func newDoctorCommand() *cli.Command { @@ -132,7 +131,7 @@ func runRecreateTable(ctx context.Context, cmd *cli.Command) error { } recreateTables := migrate_base.RecreateTables(beans...) - return db.InitEngineWithMigration(context.Background(), func(ctx context.Context, x *xorm.Engine) error { + return db.InitEngineWithMigration(context.Background(), func(ctx context.Context, x db.EngineMigration) error { if err := migrations.EnsureUpToDate(ctx, x); err != nil { return err } diff --git a/models/activities/action_list.go b/models/activities/action_list.go index 5b07a8e080..e9e3873f9a 100644 --- a/models/activities/action_list.go +++ b/models/activities/action_list.go @@ -242,7 +242,7 @@ func GetFeeds(ctx context.Context, opts GetFeedsOptions) (ActionList, int64, err if opts.Page < 10 { // TODO: why it's 10 but other values? It's an experience value. sess := db.GetEngine(ctx).Where(cond) - sess = db.SetSessionPagination(sess, &opts) + db.SetSessionPagination(sess, &opts) if opts.DontCount { err = sess.Desc("`action`.created_unix").Find(&actions) @@ -255,7 +255,7 @@ func GetFeeds(ctx context.Context, opts GetFeedsOptions) (ActionList, int64, err } else { // First, only query which IDs are necessary, and only then query all actions to speed up the overall query sess := db.GetEngine(ctx).Where(cond).Select("`action`.id") - sess = db.SetSessionPagination(sess, &opts) + db.SetSessionPagination(sess, &opts) actionIDs := make([]int64, 0, opts.PageSize) if err := sess.Table("action").Desc("`action`.created_unix").Find(&actionIDs); err != nil { diff --git a/models/activities/repo_activity.go b/models/activities/repo_activity.go index aeaa452c9e..54ea6be773 100644 --- a/models/activities/repo_activity.go +++ b/models/activities/repo_activity.go @@ -17,7 +17,6 @@ import ( "code.gitea.io/gitea/modules/gitrepo" "xorm.io/builder" - "xorm.io/xorm" ) // ActivityAuthorData represents statistical git commit count data @@ -248,7 +247,7 @@ func (stats *ActivityStats) FillPullRequests(ctx context.Context, repoID int64, return nil } -func pullRequestsForActivityStatement(ctx context.Context, repoID int64, fromTime time.Time, merged bool) *xorm.Session { +func pullRequestsForActivityStatement(ctx context.Context, repoID int64, fromTime time.Time, merged bool) db.Session { sess := db.GetEngine(ctx).Where("pull_request.base_repo_id=?", repoID). Join("INNER", "issue", "pull_request.issue_id = issue.id") @@ -324,7 +323,7 @@ func (stats *ActivityStats) FillUnresolvedIssues(ctx context.Context, repoID int return sess.Find(&stats.UnresolvedIssues) } -func newlyCreatedIssues(ctx context.Context, repoID int64, fromTime time.Time) *xorm.Session { +func newlyCreatedIssues(ctx context.Context, repoID int64, fromTime time.Time) db.Session { sess := db.GetEngine(ctx).Where("issue.repo_id = ?", repoID). And("issue.is_pull = ?", false). // Retain the is_pull check to exclude pull requests And("issue.created_unix >= ?", fromTime.Unix()) // Include all issues created after fromTime @@ -332,7 +331,7 @@ func newlyCreatedIssues(ctx context.Context, repoID int64, fromTime time.Time) * return sess } -func activeIssues(ctx context.Context, repoID int64, fromTime time.Time) *xorm.Session { +func activeIssues(ctx context.Context, repoID int64, fromTime time.Time) db.Session { sess := db.GetEngine(ctx).Where("issue.repo_id = ?", repoID). And("issue.is_pull = ?", false). And(builder.Or( @@ -343,7 +342,7 @@ func activeIssues(ctx context.Context, repoID int64, fromTime time.Time) *xorm.S return sess } -func issuesForActivityStatement(ctx context.Context, repoID int64, fromTime time.Time, closed, unresolved bool) *xorm.Session { +func issuesForActivityStatement(ctx context.Context, repoID int64, fromTime time.Time, closed, unresolved bool) db.Session { sess := db.GetEngine(ctx).Where("issue.repo_id = ?", repoID). And("issue.is_closed = ?", closed) @@ -385,7 +384,7 @@ func (stats *ActivityStats) FillReleases(ctx context.Context, repoID int64, from return nil } -func releasesForActivityStatement(ctx context.Context, repoID int64, fromTime time.Time) *xorm.Session { +func releasesForActivityStatement(ctx context.Context, repoID int64, fromTime time.Time) db.Session { return db.GetEngine(ctx).Where("`release`.repo_id = ?", repoID). And("`release`.is_draft = ?", false). And("`release`.created_unix >= ?", fromTime.Unix()) diff --git a/models/db/collation.go b/models/db/collation.go index 203f7cbfe4..56173ad97d 100644 --- a/models/db/collation.go +++ b/models/db/collation.go @@ -12,7 +12,6 @@ import ( "code.gitea.io/gitea/modules/log" "code.gitea.io/gitea/modules/setting" - "xorm.io/xorm" "xorm.io/xorm/schemas" ) @@ -27,7 +26,7 @@ type CheckCollationsResult struct { InconsistentCollationColumns []string } -func findAvailableCollationsMySQL(x *xorm.Engine) (ret container.Set[string], err error) { +func findAvailableCollationsMySQL(x EngineMigration) (ret container.Set[string], err error) { var res []struct { Collation string } @@ -41,7 +40,7 @@ func findAvailableCollationsMySQL(x *xorm.Engine) (ret container.Set[string], er return ret, nil } -func findAvailableCollationsMSSQL(x *xorm.Engine) (ret container.Set[string], err error) { +func findAvailableCollationsMSSQL(x EngineMigration) (ret container.Set[string], err error) { var res []struct { Name string } @@ -55,7 +54,7 @@ func findAvailableCollationsMSSQL(x *xorm.Engine) (ret container.Set[string], er return ret, nil } -func CheckCollations(x *xorm.Engine) (*CheckCollationsResult, error) { +func CheckCollations(x EngineMigration) (*CheckCollationsResult, error) { dbTables, err := x.DBMetas() if err != nil { return nil, err @@ -143,7 +142,7 @@ func CheckCollationsDefaultEngine() (*CheckCollationsResult, error) { return CheckCollations(xormEngine) } -func alterDatabaseCollation(x *xorm.Engine, collation string) error { +func alterDatabaseCollation(x EngineMigration, collation string) error { if x.Dialect().URI().DBType == schemas.MYSQL { _, err := x.Exec("ALTER DATABASE CHARACTER SET utf8mb4 COLLATE " + collation) return err @@ -156,7 +155,7 @@ func alterDatabaseCollation(x *xorm.Engine, collation string) error { } // preprocessDatabaseCollation checks database & table column collation, and alter the database collation if needed -func preprocessDatabaseCollation(x *xorm.Engine) { +func preprocessDatabaseCollation(x EngineMigration) { r, err := CheckCollations(x) if err != nil { log.Error("Failed to check database collation: %v", err) diff --git a/models/db/engine.go b/models/db/engine.go index fbcc3fa15e..d4ac0b4aca 100755 --- a/models/db/engine.go +++ b/models/db/engine.go @@ -16,6 +16,10 @@ import ( _ "github.com/microsoft/go-mssqldb" // Needed for the MSSQL driver "xorm.io/xorm" + "xorm.io/xorm/core" + "xorm.io/xorm/dialects" + "xorm.io/xorm/names" + "xorm.io/xorm/schemas" ) var ( @@ -33,6 +37,7 @@ type Engine interface { Truncate(...any) (int64, error) Exec(...any) (sql.Result, error) Find(any, ...any) error + FindAndCount(any, ...any) (int64, error) Get(beans ...any) (bool, error) ID(any) *xorm.Session In(string, ...any) *xorm.Session @@ -61,9 +66,41 @@ type Engine interface { IsTableExist(tableNameOrBean any) (bool, error) } +// Session represents a xorm session interface, used as an abstraction over *xorm.Session. +type Session interface { + Engine + And(query any, args ...any) *xorm.Session + Begin() error + Close() error + Commit() error + IsInTx() bool + Rollback() error + Engine() *xorm.Engine +} + +// EngineMigration is a xorm engine interface used for migrations. +// It extends Engine with additional methods that are only available on the engine (not on the session) +// and are needed by the migration packages. +type EngineMigration interface { + Engine + Close() error + DB() *core.DB + DBMetas() ([]*schemas.Table, error) + Dialect() dialects.Dialect + DropTables(beans ...any) error + NewSession() *xorm.Session + QueryInterface(sqlOrArgs ...any) ([]map[string]any, error) + SetMapper(mapper names.Mapper) + SyncWithOptions(opts xorm.SyncOptions, beans ...any) (*xorm.SyncResult, error) + TableInfo(bean any) (*schemas.Table, error) + TableName(bean any, includeSchema ...bool) string +} + var ( - _ Engine = (*xorm.Engine)(nil) - _ Engine = (*xorm.Session)(nil) + _ Engine = (*xorm.Engine)(nil) + _ Engine = (*xorm.Session)(nil) + _ Session = (*xorm.Session)(nil) + _ EngineMigration = (*xorm.Engine)(nil) ) // RegisterModel registers model, if initFuncs provided, it will be invoked after data model sync diff --git a/models/db/engine_init.go b/models/db/engine_init.go index 65192d3327..2680bcf5ef 100644 --- a/models/db/engine_init.go +++ b/models/db/engine_init.go @@ -92,7 +92,7 @@ func UnsetDefaultEngine() { // When called from the "doctor" command, the migration function is a version check // that prevents the doctor from fixing anything in the database if the migration level // is different from the expected value. -func InitEngineWithMigration(ctx context.Context, migrateFunc func(context.Context, *xorm.Engine) error) (err error) { +func InitEngineWithMigration(ctx context.Context, migrateFunc func(context.Context, EngineMigration) error) (err error) { if err = InitEngine(ctx); err != nil { return err } diff --git a/models/db/list.go b/models/db/list.go index 5c005a0350..3d61d7d46c 100644 --- a/models/db/list.go +++ b/models/db/list.go @@ -9,7 +9,6 @@ import ( "code.gitea.io/gitea/modules/setting" "xorm.io/builder" - "xorm.io/xorm" ) const ( @@ -25,7 +24,7 @@ type Paginator interface { } // SetSessionPagination sets pagination for a database session -func SetSessionPagination(sess Engine, p Paginator) *xorm.Session { +func SetSessionPagination(sess Engine, p Paginator) Session { skip, take := p.GetSkipTake() return sess.Limit(take, skip) diff --git a/models/git/branch_list.go b/models/git/branch_list.go index 1445f3a5a0..17cac4531b 100644 --- a/models/git/branch_list.go +++ b/models/git/branch_list.go @@ -101,7 +101,7 @@ func (opts FindBranchOptions) ToOrders() string { func FindBranchNames(ctx context.Context, opts FindBranchOptions) ([]string, error) { sess := db.GetEngine(ctx).Select("name").Where(opts.ToConds()) if opts.PageSize > 0 && !opts.IsListAll() { - sess = db.SetSessionPagination(sess, &opts.ListOptions) + db.SetSessionPagination(sess, &opts.ListOptions) } var branches []string diff --git a/models/git/commit_status.go b/models/git/commit_status.go index 2ae5937a3d..07beb2372a 100644 --- a/models/git/commit_status.go +++ b/models/git/commit_status.go @@ -25,7 +25,6 @@ import ( "code.gitea.io/gitea/modules/translation" "xorm.io/builder" - "xorm.io/xorm" ) // CommitStatus holds a single Status of a single Commit @@ -329,7 +328,7 @@ type CommitStatusIndex struct { MaxIndex int64 `xorm:"index"` } -func makeRepoCommitQuery(ctx context.Context, repoID int64, sha string) *xorm.Session { +func makeRepoCommitQuery(ctx context.Context, repoID int64, sha string) db.Session { return db.GetEngine(ctx).Table(&CommitStatus{}). Where("repo_id = ?", repoID).And("sha = ?", sha) } @@ -337,12 +336,10 @@ func makeRepoCommitQuery(ctx context.Context, repoID int64, sha string) *xorm.Se // GetLatestCommitStatus returns all statuses with a unique context for a given commit. func GetLatestCommitStatus(ctx context.Context, repoID int64, sha string, listOptions db.ListOptions) ([]*CommitStatus, error) { indices := make([]int64, 0, 10) - sess := makeRepoCommitQuery(ctx, repoID, sha). - Select("max( `index` ) as `index`"). - GroupBy("context_hash"). - OrderBy("max( `index` ) desc") + sess := makeRepoCommitQuery(ctx, repoID, sha) + sess.Select("max( `index` ) as `index`").GroupBy("context_hash").OrderBy("max( `index` ) desc") if !listOptions.IsListAll() { - sess = db.SetSessionPagination(sess, &listOptions) + db.SetSessionPagination(sess, &listOptions) } if err := sess.Find(&indices); err != nil { return nil, err @@ -372,7 +369,7 @@ func GetLatestCommitStatusForPairs(ctx context.Context, repoSHAs []RepoSHA) (map results := make([]result, 0, len(repoSHAs)) - getBase := func() *xorm.Session { + getBase := func() db.Session { return db.GetEngine(ctx).Table(&CommitStatus{}) } @@ -425,7 +422,7 @@ func GetLatestCommitStatusForRepoCommitIDs(ctx context.Context, repoID int64, co SHA string } - getBase := func() *xorm.Session { + getBase := func() db.Session { return db.GetEngine(ctx).Table(&CommitStatus{}).Where("repo_id = ?", repoID) } results := make([]result, 0, len(commitIDs)) diff --git a/models/issues/comment.go b/models/issues/comment.go index acfc07ff22..bb4a38a51b 100644 --- a/models/issues/comment.go +++ b/models/issues/comment.go @@ -1124,7 +1124,7 @@ func FindComments(ctx context.Context, opts *FindCommentsOptions) (CommentList, } if opts.Page > 0 { - sess = db.SetSessionPagination(sess, opts) + db.SetSessionPagination(sess, opts) } // WARNING: If you change this order you will need to fix createCodeComment diff --git a/models/issues/issue.go b/models/issues/issue.go index 345b36a82f..6765defa0c 100644 --- a/models/issues/issue.go +++ b/models/issues/issue.go @@ -682,7 +682,7 @@ func (issue *Issue) BlockedByDependencies(ctx context.Context, opts db.ListOptio // sort by repo id then created date, with the issues of the same repo at the beginning of the list OrderBy("CASE WHEN issue.repo_id = ? THEN 0 ELSE issue.repo_id END, issue.created_unix DESC", issue.RepoID) if opts.Page > 0 { - sess = db.SetSessionPagination(sess, &opts) + db.SetSessionPagination(sess, &opts) } total, err = sess.FindAndCount(&issueDeps) diff --git a/models/issues/issue_search.go b/models/issues/issue_search.go index f905e629e3..0a9d5d93d5 100644 --- a/models/issues/issue_search.go +++ b/models/issues/issue_search.go @@ -19,7 +19,6 @@ import ( "code.gitea.io/gitea/modules/util" "xorm.io/builder" - "xorm.io/xorm" ) const ScopeSortPrefix = "scope-" @@ -71,7 +70,7 @@ func (o *IssuesOptions) Copy(edit ...func(options *IssuesOptions)) *IssuesOption // applySorts sort an issues-related session based on the provided // sortType string -func applySorts(sess *xorm.Session, sortType string, priorityRepoID int64) { +func applySorts(sess db.Session, sortType string, priorityRepoID int64) { // Since this sortType is dynamically created, it has to be treated specially. if after, ok := strings.CutPrefix(sortType, ScopeSortPrefix); ok { scope := after @@ -129,7 +128,7 @@ func applySorts(sess *xorm.Session, sortType string, priorityRepoID int64) { } } -func applyLimit(sess *xorm.Session, opts *IssuesOptions) { +func applyLimit(sess db.Session, opts *IssuesOptions) { if opts.Paginator == nil || opts.Paginator.IsListAll() { return } @@ -141,7 +140,7 @@ func applyLimit(sess *xorm.Session, opts *IssuesOptions) { sess.Limit(opts.Paginator.PageSize, start) } -func applyLabelsCondition(sess *xorm.Session, opts *IssuesOptions) { +func applyLabelsCondition(sess db.Session, opts *IssuesOptions) { if len(opts.LabelIDs) > 0 { if opts.LabelIDs[0] == 0 { sess.Where("issue.id NOT IN (SELECT issue_id FROM issue_label)") @@ -182,7 +181,7 @@ func applyLabelsCondition(sess *xorm.Session, opts *IssuesOptions) { } } -func applyMilestoneCondition(sess *xorm.Session, opts *IssuesOptions) { +func applyMilestoneCondition(sess db.Session, opts *IssuesOptions) { if len(opts.MilestoneIDs) == 1 && opts.MilestoneIDs[0] == db.NoConditionID { sess.And("issue.milestone_id = 0") } else if len(opts.MilestoneIDs) > 0 { @@ -197,7 +196,7 @@ func applyMilestoneCondition(sess *xorm.Session, opts *IssuesOptions) { } } -func applyProjectCondition(sess *xorm.Session, opts *IssuesOptions) { +func applyProjectCondition(sess db.Session, opts *IssuesOptions) { projectIDs := util.SliceRemoveAll(opts.ProjectIDs, 0) if len(projectIDs) == 1 && projectIDs[0] == db.NoConditionID { // show those that are in no project sess.And(builder.NotIn("issue.id", builder.Select("issue_id").From("project_issue"))) @@ -211,7 +210,7 @@ func applyProjectCondition(sess *xorm.Session, opts *IssuesOptions) { // do not need to apply any condition } -func applyRepoConditions(sess *xorm.Session, opts *IssuesOptions) { +func applyRepoConditions(sess db.Session, opts *IssuesOptions) { if len(opts.RepoIDs) == 1 { opts.RepoCond = builder.Eq{"issue.repo_id": opts.RepoIDs[0]} } else if len(opts.RepoIDs) > 1 { @@ -228,7 +227,7 @@ func applyRepoConditions(sess *xorm.Session, opts *IssuesOptions) { } } -func applyConditions(sess *xorm.Session, opts *IssuesOptions) { +func applyConditions(sess db.Session, opts *IssuesOptions) { if len(opts.IssueIDs) > 0 { sess.In("issue.id", opts.IssueIDs) } @@ -362,7 +361,7 @@ func issuePullAccessibleRepoCond(repoIDstr string, userID int64, owner *user_mod return cond } -func applyAssigneeCondition(sess *xorm.Session, assigneeID string) { +func applyAssigneeCondition(sess db.Session, assigneeID string) { // old logic: 0 is also treated as "not filtering assignee", because the "assignee" was read as FormInt64 if assigneeID == "(none)" { sess.Where("issue.id NOT IN (SELECT issue_id FROM issue_assignees)") @@ -374,7 +373,7 @@ func applyAssigneeCondition(sess *xorm.Session, assigneeID string) { } } -func applyPosterCondition(sess *xorm.Session, posterID string) { +func applyPosterCondition(sess db.Session, posterID string) { // Actually every issue has a poster. // The "(none)" is for internal usage only: when doer tries to search non-existing user as poster, use "(none)" to return empty result. if posterID == "(none)" { @@ -384,13 +383,13 @@ func applyPosterCondition(sess *xorm.Session, posterID string) { } } -func applyMentionedCondition(sess *xorm.Session, mentionedID int64) { +func applyMentionedCondition(sess db.Session, mentionedID int64) { sess.Join("INNER", "issue_user", "issue.id = issue_user.issue_id"). And("issue_user.is_mentioned = ?", true). And("issue_user.uid = ?", mentionedID) } -func applyReviewRequestedCondition(sess *xorm.Session, reviewRequestedID int64) { +func applyReviewRequestedCondition(sess db.Session, reviewRequestedID int64) { existInTeamQuery := builder.Select("team_user.team_id"). From("team_user"). Where(builder.Eq{"team_user.uid": reviewRequestedID}) @@ -415,7 +414,7 @@ func applyReviewRequestedCondition(sess *xorm.Session, reviewRequestedID int64) And(builder.In("issue.id", subQuery)) } -func applyReviewedCondition(sess *xorm.Session, reviewedID int64) { +func applyReviewedCondition(sess db.Session, reviewedID int64) { // Query for pull requests where you are a reviewer or commenter, excluding // any pull requests already returned by the review requested filter. notPoster := builder.Neq{"issue.poster_id": reviewedID} @@ -445,7 +444,7 @@ func applyReviewedCondition(sess *xorm.Session, reviewedID int64) { sess.And(notPoster, builder.Or(reviewed, commented)) } -func applySubscribedCondition(sess *xorm.Session, subscriberID int64) { +func applySubscribedCondition(sess db.Session, subscriberID int64) { sess.And( builder. NotIn("issue.id", diff --git a/models/issues/issue_stats.go b/models/issues/issue_stats.go index ddf6613870..027f0f2bd8 100644 --- a/models/issues/issue_stats.go +++ b/models/issues/issue_stats.go @@ -10,7 +10,6 @@ import ( "code.gitea.io/gitea/models/db" "xorm.io/builder" - "xorm.io/xorm" ) // IssueStats represents issue statistic information. @@ -129,7 +128,7 @@ func getIssueStatsChunk(ctx context.Context, opts *IssuesOptions, issueIDs []int return stats, err } -func applyIssuesOptions(sess *xorm.Session, opts *IssuesOptions, issueIDs []int64) *xorm.Session { +func applyIssuesOptions(sess db.Session, opts *IssuesOptions, issueIDs []int64) db.Session { if len(opts.RepoIDs) > 1 { sess.In("issue.repo_id", opts.RepoIDs) } else if len(opts.RepoIDs) == 1 { diff --git a/models/issues/issue_watch.go b/models/issues/issue_watch.go index f384e086e5..8f8d155436 100644 --- a/models/issues/issue_watch.go +++ b/models/issues/issue_watch.go @@ -106,7 +106,7 @@ func GetIssueWatchers(ctx context.Context, issueID int64, listOptions db.ListOpt Join("INNER", "`user`", "`user`.id = `issue_watch`.user_id") if listOptions.Page > 0 { - sess = db.SetSessionPagination(sess, &listOptions) + db.SetSessionPagination(sess, &listOptions) watches := make([]*IssueWatch, 0, listOptions.PageSize) return watches, sess.Find(&watches) } diff --git a/models/issues/label.go b/models/issues/label.go index 25d6f1303e..c120f7530b 100644 --- a/models/issues/label.go +++ b/models/issues/label.go @@ -396,7 +396,7 @@ func GetLabelsByRepoID(ctx context.Context, repoID int64, sortType string, listO } if listOptions.Page > 0 { - sess = db.SetSessionPagination(sess, &listOptions) + db.SetSessionPagination(sess, &listOptions) } return labels, sess.Find(&labels) @@ -471,7 +471,7 @@ func GetLabelsByOrgID(ctx context.Context, orgID int64, sortType string, listOpt } if listOptions.Page > 0 { - sess = db.SetSessionPagination(sess, &listOptions) + db.SetSessionPagination(sess, &listOptions) } return labels, sess.Find(&labels) diff --git a/models/issues/pull_list.go b/models/issues/pull_list.go index 6a6abca970..c7a2eb6c48 100644 --- a/models/issues/pull_list.go +++ b/models/issues/pull_list.go @@ -18,7 +18,6 @@ import ( "code.gitea.io/gitea/modules/util" "xorm.io/builder" - "xorm.io/xorm" ) // PullRequestsOptions holds the options for PRs @@ -32,7 +31,7 @@ type PullRequestsOptions struct { BaseBranch string } -func listPullRequestStatement(ctx context.Context, baseRepoID int64, opts *PullRequestsOptions) *xorm.Session { +func listPullRequestStatement(ctx context.Context, baseRepoID int64, opts *PullRequestsOptions) db.Session { sess := db.GetEngine(ctx).Where("pull_request.base_repo_id=?", baseRepoID) if opts.BaseBranch != "" { diff --git a/models/issues/reaction.go b/models/issues/reaction.go index 3b5ad6d7ab..551f8f09d7 100644 --- a/models/issues/reaction.go +++ b/models/issues/reaction.go @@ -165,7 +165,7 @@ func FindReactions(ctx context.Context, opts FindReactionsOptions) (ReactionList In("reaction.`type`", setting.UI.Reactions). Asc("reaction.issue_id", "reaction.comment_id", "reaction.created_unix", "reaction.id") if opts.Page > 0 { - sess = db.SetSessionPagination(sess, &opts) + db.SetSessionPagination(sess, &opts) reactions := make([]*Reaction, 0, opts.PageSize) count, err := sess.FindAndCount(&reactions) diff --git a/models/issues/review_list.go b/models/issues/review_list.go index d0430cd06d..80703778a5 100644 --- a/models/issues/review_list.go +++ b/models/issues/review_list.go @@ -121,7 +121,7 @@ func FindReviews(ctx context.Context, opts FindReviewOptions) (ReviewList, error reviews := make([]*Review, 0, 10) sess := db.GetEngine(ctx).Where(opts.toCond()) if opts.Page > 0 && !opts.IsListAll() { - sess = db.SetSessionPagination(sess, &opts) + db.SetSessionPagination(sess, &opts) } return reviews, sess. Asc("created_unix"). @@ -135,7 +135,7 @@ func FindLatestReviews(ctx context.Context, opts FindReviewOptions) (ReviewList, cond := opts.toCond() sess := db.GetEngine(ctx).Where(cond) if opts.Page > 0 { - sess = db.SetSessionPagination(sess, &opts) + db.SetSessionPagination(sess, &opts) } sess.In("id", builder. diff --git a/models/issues/stopwatch.go b/models/issues/stopwatch.go index f119951b09..66e03479bc 100644 --- a/models/issues/stopwatch.go +++ b/models/issues/stopwatch.go @@ -77,7 +77,7 @@ func GetUserStopwatches(ctx context.Context, userID int64, listOptions db.ListOp sws := make([]*Stopwatch, 0, 8) sess := db.GetEngine(ctx).Where("stopwatch.user_id = ?", userID) if listOptions.Page > 0 { - sess = db.SetSessionPagination(sess, &listOptions) + db.SetSessionPagination(sess, &listOptions) } err := sess.Find(&sws) diff --git a/models/issues/tracked_time.go b/models/issues/tracked_time.go index 0b5c341f1f..9df868c89a 100644 --- a/models/issues/tracked_time.go +++ b/models/issues/tracked_time.go @@ -16,7 +16,6 @@ import ( "code.gitea.io/gitea/modules/util" "xorm.io/builder" - "xorm.io/xorm" ) // TrackedTime represents a time that was spent for a specific issue. @@ -140,7 +139,7 @@ func (opts *FindTrackedTimesOptions) toSession(e db.Engine) db.Engine { sess = sess.Where(opts.ToConds()) if opts.Page > 0 { - sess = db.SetSessionPagination(sess, opts) + db.SetSessionPagination(sess, opts) } return sess @@ -344,7 +343,7 @@ func GetIssueTotalTrackedTime(ctx context.Context, opts *IssuesOptions, isClosed } func getIssueTotalTrackedTimeChunk(ctx context.Context, opts *IssuesOptions, isClosed optional.Option[bool], issueIDs []int64) (int64, error) { - sumSession := func(opts *IssuesOptions, issueIDs []int64) *xorm.Session { + sumSession := func(opts *IssuesOptions, issueIDs []int64) db.Session { sess := db.GetEngine(ctx). Table("tracked_time"). Where("tracked_time.deleted = ?", false). @@ -359,7 +358,7 @@ func getIssueTotalTrackedTimeChunk(ctx context.Context, opts *IssuesOptions, isC session := sumSession(opts, issueIDs) if isClosed.Has() { - session = session.And("issue.is_closed = ?", isClosed.Value()) + session.And("issue.is_closed = ?", isClosed.Value()) } return session.SumInt(new(trackedTime), "tracked_time.time") } diff --git a/models/migrations/base/db.go b/models/migrations/base/db.go index 16048c2073..ae33daf1af 100644 --- a/models/migrations/base/db.go +++ b/models/migrations/base/db.go @@ -11,17 +11,17 @@ import ( "regexp" "strings" + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/modules/log" "code.gitea.io/gitea/modules/setting" - "xorm.io/xorm" "xorm.io/xorm/schemas" ) // RecreateTables will recreate the tables for the provided beans using the newly provided bean definition and move all data to that new table // WARNING: YOU MUST PROVIDE THE FULL BEAN DEFINITION -func RecreateTables(beans ...any) func(*xorm.Engine) error { - return func(x *xorm.Engine) error { +func RecreateTables(beans ...any) func(db.EngineMigration) error { + return func(x db.EngineMigration) error { sess := x.NewSession() defer sess.Close() if err := sess.Begin(); err != nil { @@ -41,7 +41,7 @@ func RecreateTables(beans ...any) func(*xorm.Engine) error { // RecreateTable will recreate the table using the newly provided bean definition and move all data to that new table // WARNING: YOU MUST PROVIDE THE FULL BEAN DEFINITION // WARNING: YOU MUST COMMIT THE SESSION AT THE END -func RecreateTable(sess *xorm.Session, bean any) error { +func RecreateTable(sess db.Session, bean any) error { // TODO: This will not work if there are foreign keys tableName := sess.Engine().TableName(bean) @@ -304,7 +304,7 @@ func RecreateTable(sess *xorm.Session, bean any) error { } // WARNING: YOU MUST COMMIT THE SESSION AT THE END -func DropTableColumns(sess *xorm.Session, tableName string, columnNames ...string) (err error) { +func DropTableColumns(sess db.Session, tableName string, columnNames ...string) (err error) { if tableName == "" || len(columnNames) == 0 { return nil } @@ -474,7 +474,7 @@ func DropTableColumns(sess *xorm.Session, tableName string, columnNames ...strin } // ModifyColumn will modify column's type or other property. SQLITE is not supported -func ModifyColumn(x *xorm.Engine, tableName string, col *schemas.Column) error { +func ModifyColumn(x db.EngineMigration, tableName string, col *schemas.Column) error { var indexes map[string]*schemas.Index var err error // MSSQL have to remove index at first, otherwise alter column will fail diff --git a/models/migrations/migrations.go b/models/migrations/migrations.go index 65a950fc9c..2040b105bd 100644 --- a/models/migrations/migrations.go +++ b/models/migrations/migrations.go @@ -9,6 +9,7 @@ import ( "errors" "fmt" + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/models/migrations/v1_10" "code.gitea.io/gitea/models/migrations/v1_11" "code.gitea.io/gitea/models/migrations/v1_12" @@ -35,7 +36,6 @@ import ( "code.gitea.io/gitea/modules/log" "code.gitea.io/gitea/modules/setting" - "xorm.io/xorm" "xorm.io/xorm/names" ) @@ -44,23 +44,23 @@ const minDBVersion = 70 // Gitea 1.5.3 type migration struct { idNumber int64 // DB version is "the last migration's idNumber" + 1 description string - migrate func(context.Context, *xorm.Engine) error + migrate func(context.Context, db.EngineMigration) error } // newMigration creates a new migration -func newMigration[T func(*xorm.Engine) error | func(context.Context, *xorm.Engine) error](idNumber int64, desc string, fn T) *migration { +func newMigration[T func(db.EngineMigration) error | func(context.Context, db.EngineMigration) error](idNumber int64, desc string, fn T) *migration { m := &migration{idNumber: idNumber, description: desc} var ok bool - if m.migrate, ok = any(fn).(func(context.Context, *xorm.Engine) error); !ok { - m.migrate = func(ctx context.Context, x *xorm.Engine) error { - return any(fn).(func(*xorm.Engine) error)(x) + if m.migrate, ok = any(fn).(func(context.Context, db.EngineMigration) error); !ok { + m.migrate = func(ctx context.Context, x db.EngineMigration) error { + return any(fn).(func(db.EngineMigration) error)(x) } } return m } // Migrate executes the migration -func (m *migration) Migrate(ctx context.Context, x *xorm.Engine) error { +func (m *migration) Migrate(ctx context.Context, x db.EngineMigration) error { return m.migrate(ctx, x) } @@ -71,7 +71,7 @@ type Version struct { } // Use noopMigration when there is a migration that has been no-oped -var noopMigration = func(_ *xorm.Engine) error { return nil } +var noopMigration = func(_ db.EngineMigration) error { return nil } var preparedMigrations []*migration @@ -417,7 +417,7 @@ func prepareMigrationTasks() []*migration { } // GetCurrentDBVersion returns the current db version -func GetCurrentDBVersion(x *xorm.Engine) (int64, error) { +func GetCurrentDBVersion(x db.EngineMigration) (int64, error) { if err := x.Sync(new(Version)); err != nil { return -1, fmt.Errorf("sync: %w", err) } @@ -450,7 +450,7 @@ func ExpectedDBVersion() int64 { } // EnsureUpToDate will check if the db is at the correct version -func EnsureUpToDate(ctx context.Context, x *xorm.Engine) error { +func EnsureUpToDate(ctx context.Context, x db.EngineMigration) error { currentDB, err := GetCurrentDBVersion(x) if err != nil { return err @@ -482,7 +482,7 @@ func migrationIDNumberToDBVersion(idNumber int64) int64 { } // Migrate database to current version -func Migrate(ctx context.Context, x *xorm.Engine) error { +func Migrate(ctx context.Context, x db.EngineMigration) error { migrations := prepareMigrationTasks() maxDBVer := calcDBVersion(migrations) @@ -501,7 +501,7 @@ func Migrate(ctx context.Context, x *xorm.Engine) error { // XORM model framework will create all tables when initializing. currentVersion.ID = 0 currentVersion.Version = maxDBVer - if _, err = x.InsertOne(currentVersion); err != nil { + if _, err = x.Insert(currentVersion); err != nil { return fmt.Errorf("insert: %w", err) } } diff --git a/models/migrations/migrationtest/tests.go b/models/migrations/migrationtest/tests.go index e0f7d04bb0..be2557a902 100644 --- a/models/migrations/migrationtest/tests.go +++ b/models/migrations/migrationtest/tests.go @@ -16,7 +16,6 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "xorm.io/xorm" "xorm.io/xorm/schemas" ) @@ -24,7 +23,7 @@ import ( // Provide models to be sync'd with the database - in particular any models you expect fixtures to be loaded from. // // fixtures in `models/migrations/fixtures/` will be loaded automatically -func PrepareTestEnv(t *testing.T, skip int, syncModels ...any) (*xorm.Engine, func()) { +func PrepareTestEnv(t *testing.T, skip int, syncModels ...any) (db.EngineMigration, func()) { t.Helper() ourSkip := 2 ourSkip += skip @@ -89,7 +88,7 @@ func PrepareTestEnv(t *testing.T, skip int, syncModels ...any) (*xorm.Engine, fu return x, deferFn } -func LoadTableSchemasMap(t *testing.T, x *xorm.Engine) map[string]*schemas.Table { +func LoadTableSchemasMap(t *testing.T, x db.EngineMigration) map[string]*schemas.Table { tables, err := x.DBMetas() require.NoError(t, err) tableMap := make(map[string]*schemas.Table) diff --git a/models/migrations/v1_10/v100.go b/models/migrations/v1_10/v100.go index 1742bea296..db581ca175 100644 --- a/models/migrations/v1_10/v100.go +++ b/models/migrations/v1_10/v100.go @@ -8,10 +8,10 @@ import ( "strings" "time" - "xorm.io/xorm" + "code.gitea.io/gitea/models/db" ) -func UpdateMigrationServiceTypes(x *xorm.Engine) error { +func UpdateMigrationServiceTypes(x db.EngineMigration) error { type Repository struct { ID int64 OriginalServiceType int `xorm:"index default(0)"` diff --git a/models/migrations/v1_10/v101.go b/models/migrations/v1_10/v101.go index 6c8dfe2486..221d151ff6 100644 --- a/models/migrations/v1_10/v101.go +++ b/models/migrations/v1_10/v101.go @@ -3,11 +3,9 @@ package v1_10 -import ( - "xorm.io/xorm" -) +import "code.gitea.io/gitea/models/db" -func ChangeSomeColumnsLengthOfExternalLoginUser(x *xorm.Engine) error { +func ChangeSomeColumnsLengthOfExternalLoginUser(x db.EngineMigration) error { type ExternalLoginUser struct { AccessToken string `xorm:"TEXT"` AccessTokenSecret string `xorm:"TEXT"` diff --git a/models/migrations/v1_10/v88.go b/models/migrations/v1_10/v88.go index eb8e81c19e..ae129d8e66 100644 --- a/models/migrations/v1_10/v88.go +++ b/models/migrations/v1_10/v88.go @@ -7,14 +7,14 @@ import ( "crypto/sha1" "fmt" - "xorm.io/xorm" + "code.gitea.io/gitea/models/db" ) func hashContext(context string) string { return fmt.Sprintf("%x", sha1.Sum([]byte(context))) } -func AddCommitStatusContext(x *xorm.Engine) error { +func AddCommitStatusContext(x db.EngineMigration) error { type CommitStatus struct { ID int64 `xorm:"pk autoincr"` ContextHash string `xorm:"char(40) index"` diff --git a/models/migrations/v1_10/v89.go b/models/migrations/v1_10/v89.go index 0df2a6e17b..0f9f5a01ea 100644 --- a/models/migrations/v1_10/v89.go +++ b/models/migrations/v1_10/v89.go @@ -3,9 +3,9 @@ package v1_10 -import "xorm.io/xorm" +import "code.gitea.io/gitea/models/db" -func AddOriginalMigrationInfo(x *xorm.Engine) error { +func AddOriginalMigrationInfo(x db.EngineMigration) error { // Issue see models/issue.go type Issue struct { OriginalAuthor string diff --git a/models/migrations/v1_10/v90.go b/models/migrations/v1_10/v90.go index 5521a97e32..b8003ea5e0 100644 --- a/models/migrations/v1_10/v90.go +++ b/models/migrations/v1_10/v90.go @@ -3,9 +3,9 @@ package v1_10 -import "xorm.io/xorm" +import "code.gitea.io/gitea/models/db" -func ChangeSomeColumnsLengthOfRepo(x *xorm.Engine) error { +func ChangeSomeColumnsLengthOfRepo(x db.EngineMigration) error { type Repository struct { ID int64 `xorm:"pk autoincr"` Description string `xorm:"TEXT"` diff --git a/models/migrations/v1_10/v91.go b/models/migrations/v1_10/v91.go index 08db6c2742..825c0cf336 100644 --- a/models/migrations/v1_10/v91.go +++ b/models/migrations/v1_10/v91.go @@ -3,9 +3,9 @@ package v1_10 -import "xorm.io/xorm" +import "code.gitea.io/gitea/models/db" -func AddIndexOnRepositoryAndComment(x *xorm.Engine) error { +func AddIndexOnRepositoryAndComment(x db.EngineMigration) error { type Repository struct { ID int64 `xorm:"pk autoincr"` OwnerID int64 `xorm:"index"` diff --git a/models/migrations/v1_10/v92.go b/models/migrations/v1_10/v92.go index b6c04a9234..7fb6d209f1 100644 --- a/models/migrations/v1_10/v92.go +++ b/models/migrations/v1_10/v92.go @@ -4,11 +4,12 @@ package v1_10 import ( + "code.gitea.io/gitea/models/db" + "xorm.io/builder" - "xorm.io/xorm" ) -func RemoveLingeringIndexStatus(x *xorm.Engine) error { +func RemoveLingeringIndexStatus(x db.EngineMigration) error { _, err := x.Exec(builder.Delete(builder.NotIn("`repo_id`", builder.Select("`id`").From("`repository`"))).From("`repo_indexer_status`")) return err } diff --git a/models/migrations/v1_10/v93.go b/models/migrations/v1_10/v93.go index c131be9a8d..5803722c70 100644 --- a/models/migrations/v1_10/v93.go +++ b/models/migrations/v1_10/v93.go @@ -3,9 +3,9 @@ package v1_10 -import "xorm.io/xorm" +import "code.gitea.io/gitea/models/db" -func AddEmailNotificationEnabledToUser(x *xorm.Engine) error { +func AddEmailNotificationEnabledToUser(x db.EngineMigration) error { // User see models/user.go type User struct { EmailNotificationsPreference string `xorm:"VARCHAR(20) NOT NULL DEFAULT 'enabled'"` diff --git a/models/migrations/v1_10/v94.go b/models/migrations/v1_10/v94.go index 13b7d7b303..df2d016fe0 100644 --- a/models/migrations/v1_10/v94.go +++ b/models/migrations/v1_10/v94.go @@ -3,9 +3,9 @@ package v1_10 -import "xorm.io/xorm" +import "code.gitea.io/gitea/models/db" -func AddStatusCheckColumnsForProtectedBranches(x *xorm.Engine) error { +func AddStatusCheckColumnsForProtectedBranches(x db.EngineMigration) error { type ProtectedBranch struct { EnableStatusCheck bool `xorm:"NOT NULL DEFAULT false"` StatusCheckContexts []string `xorm:"JSON TEXT"` diff --git a/models/migrations/v1_10/v95.go b/models/migrations/v1_10/v95.go index 86b52026bf..2c8bc75e91 100644 --- a/models/migrations/v1_10/v95.go +++ b/models/migrations/v1_10/v95.go @@ -3,9 +3,9 @@ package v1_10 -import "xorm.io/xorm" +import "code.gitea.io/gitea/models/db" -func AddCrossReferenceColumns(x *xorm.Engine) error { +func AddCrossReferenceColumns(x db.EngineMigration) error { // Comment see models/comment.go type Comment struct { RefRepoID int64 `xorm:"index"` diff --git a/models/migrations/v1_10/v96.go b/models/migrations/v1_10/v96.go index ca35a169c4..9950f30dec 100644 --- a/models/migrations/v1_10/v96.go +++ b/models/migrations/v1_10/v96.go @@ -6,13 +6,12 @@ package v1_10 import ( "path/filepath" + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/modules/setting" "code.gitea.io/gitea/modules/util" - - "xorm.io/xorm" ) -func DeleteOrphanedAttachments(x *xorm.Engine) error { +func DeleteOrphanedAttachments(x db.EngineMigration) error { type Attachment struct { ID int64 `xorm:"pk autoincr"` UUID string `xorm:"uuid UNIQUE"` diff --git a/models/migrations/v1_10/v97.go b/models/migrations/v1_10/v97.go index 5872bb63e5..6ccac1299f 100644 --- a/models/migrations/v1_10/v97.go +++ b/models/migrations/v1_10/v97.go @@ -3,9 +3,9 @@ package v1_10 -import "xorm.io/xorm" +import "code.gitea.io/gitea/models/db" -func AddRepoAdminChangeTeamAccessColumnForUser(x *xorm.Engine) error { +func AddRepoAdminChangeTeamAccessColumnForUser(x db.EngineMigration) error { type User struct { RepoAdminChangeTeamAccess bool `xorm:"NOT NULL DEFAULT false"` } diff --git a/models/migrations/v1_10/v98.go b/models/migrations/v1_10/v98.go index d21c326459..427c8da534 100644 --- a/models/migrations/v1_10/v98.go +++ b/models/migrations/v1_10/v98.go @@ -3,9 +3,9 @@ package v1_10 -import "xorm.io/xorm" +import "code.gitea.io/gitea/models/db" -func AddOriginalAuthorOnMigratedReleases(x *xorm.Engine) error { +func AddOriginalAuthorOnMigratedReleases(x db.EngineMigration) error { type Release struct { ID int64 OriginalAuthor string diff --git a/models/migrations/v1_10/v99.go b/models/migrations/v1_10/v99.go index 223c188057..e0b14f90f6 100644 --- a/models/migrations/v1_10/v99.go +++ b/models/migrations/v1_10/v99.go @@ -4,12 +4,11 @@ package v1_10 import ( + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/modules/timeutil" - - "xorm.io/xorm" ) -func AddTaskTable(x *xorm.Engine) error { +func AddTaskTable(x db.EngineMigration) error { // TaskType defines task type type TaskType int diff --git a/models/migrations/v1_11/v102.go b/models/migrations/v1_11/v102.go index e52290afb0..b66943a10c 100644 --- a/models/migrations/v1_11/v102.go +++ b/models/migrations/v1_11/v102.go @@ -4,12 +4,11 @@ package v1_11 import ( + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/models/migrations/base" - - "xorm.io/xorm" ) -func DropColumnHeadUserNameOnPullRequest(x *xorm.Engine) error { +func DropColumnHeadUserNameOnPullRequest(x db.EngineMigration) error { sess := x.NewSession() defer sess.Close() if err := sess.Begin(); err != nil { diff --git a/models/migrations/v1_11/v103.go b/models/migrations/v1_11/v103.go index a515710160..d9beed9c28 100644 --- a/models/migrations/v1_11/v103.go +++ b/models/migrations/v1_11/v103.go @@ -3,11 +3,9 @@ package v1_11 -import ( - "xorm.io/xorm" -) +import "code.gitea.io/gitea/models/db" -func AddWhitelistDeployKeysToBranches(x *xorm.Engine) error { +func AddWhitelistDeployKeysToBranches(x db.EngineMigration) error { type ProtectedBranch struct { ID int64 WhitelistDeployKeys bool `xorm:"NOT NULL DEFAULT false"` diff --git a/models/migrations/v1_11/v104.go b/models/migrations/v1_11/v104.go index 3b0d3c64b2..19ba7d56b3 100644 --- a/models/migrations/v1_11/v104.go +++ b/models/migrations/v1_11/v104.go @@ -4,12 +4,11 @@ package v1_11 import ( + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/models/migrations/base" - - "xorm.io/xorm" ) -func RemoveLabelUneededCols(x *xorm.Engine) error { +func RemoveLabelUneededCols(x db.EngineMigration) error { // Make sure the columns exist before dropping them type Label struct { QueryString string diff --git a/models/migrations/v1_11/v105.go b/models/migrations/v1_11/v105.go index d86973a0f6..93c96bb098 100644 --- a/models/migrations/v1_11/v105.go +++ b/models/migrations/v1_11/v105.go @@ -3,11 +3,9 @@ package v1_11 -import ( - "xorm.io/xorm" -) +import "code.gitea.io/gitea/models/db" -func AddTeamIncludesAllRepositories(x *xorm.Engine) error { +func AddTeamIncludesAllRepositories(x db.EngineMigration) error { type Team struct { ID int64 `xorm:"pk autoincr"` IncludesAllRepositories bool `xorm:"NOT NULL DEFAULT false"` diff --git a/models/migrations/v1_11/v106.go b/models/migrations/v1_11/v106.go index edffe18683..61f5be6c41 100644 --- a/models/migrations/v1_11/v106.go +++ b/models/migrations/v1_11/v106.go @@ -3,9 +3,7 @@ package v1_11 -import ( - "xorm.io/xorm" -) +import "code.gitea.io/gitea/models/db" // RepoWatchMode specifies what kind of watch the user has on a repository type RepoWatchMode int8 @@ -16,7 +14,7 @@ type Watch struct { Mode RepoWatchMode `xorm:"SMALLINT NOT NULL DEFAULT 1"` } -func AddModeColumnToWatch(x *xorm.Engine) error { +func AddModeColumnToWatch(x db.EngineMigration) error { if err := x.Sync(new(Watch)); err != nil { return err } diff --git a/models/migrations/v1_11/v107.go b/models/migrations/v1_11/v107.go index a158e3bb50..7bdd401d16 100644 --- a/models/migrations/v1_11/v107.go +++ b/models/migrations/v1_11/v107.go @@ -3,11 +3,9 @@ package v1_11 -import ( - "xorm.io/xorm" -) +import "code.gitea.io/gitea/models/db" -func AddTemplateToRepo(x *xorm.Engine) error { +func AddTemplateToRepo(x db.EngineMigration) error { type Repository struct { IsTemplate bool `xorm:"INDEX NOT NULL DEFAULT false"` TemplateID int64 `xorm:"INDEX"` diff --git a/models/migrations/v1_11/v108.go b/models/migrations/v1_11/v108.go index 8f14504ceb..816206d992 100644 --- a/models/migrations/v1_11/v108.go +++ b/models/migrations/v1_11/v108.go @@ -3,11 +3,9 @@ package v1_11 -import ( - "xorm.io/xorm" -) +import "code.gitea.io/gitea/models/db" -func AddCommentIDOnNotification(x *xorm.Engine) error { +func AddCommentIDOnNotification(x db.EngineMigration) error { type Notification struct { ID int64 `xorm:"pk autoincr"` CommentID int64 diff --git a/models/migrations/v1_11/v109.go b/models/migrations/v1_11/v109.go index f7616aec7b..8a30905ace 100644 --- a/models/migrations/v1_11/v109.go +++ b/models/migrations/v1_11/v109.go @@ -3,11 +3,9 @@ package v1_11 -import ( - "xorm.io/xorm" -) +import "code.gitea.io/gitea/models/db" -func AddCanCreateOrgRepoColumnForTeam(x *xorm.Engine) error { +func AddCanCreateOrgRepoColumnForTeam(x db.EngineMigration) error { type Team struct { CanCreateOrgRepo bool `xorm:"NOT NULL DEFAULT false"` } diff --git a/models/migrations/v1_11/v110.go b/models/migrations/v1_11/v110.go index 512f728c03..6f2c63018f 100644 --- a/models/migrations/v1_11/v110.go +++ b/models/migrations/v1_11/v110.go @@ -4,11 +4,12 @@ package v1_11 import ( - "xorm.io/xorm" + "code.gitea.io/gitea/models/db" + "xorm.io/xorm/schemas" ) -func ChangeReviewContentToText(x *xorm.Engine) error { +func ChangeReviewContentToText(x db.EngineMigration) error { switch x.Dialect().URI().DBType { case schemas.MYSQL: _, err := x.Exec("ALTER TABLE review MODIFY COLUMN content TEXT") diff --git a/models/migrations/v1_11/v111.go b/models/migrations/v1_11/v111.go index 2634906565..f2e6e7b74c 100644 --- a/models/migrations/v1_11/v111.go +++ b/models/migrations/v1_11/v111.go @@ -7,10 +7,10 @@ import ( "fmt" "slices" - "xorm.io/xorm" + "code.gitea.io/gitea/models/db" ) -func AddBranchProtectionCanPushAndEnableWhitelist(x *xorm.Engine) error { +func AddBranchProtectionCanPushAndEnableWhitelist(x db.EngineMigration) error { type ProtectedBranch struct { CanPush bool `xorm:"NOT NULL DEFAULT false"` EnableApprovalsWhitelist bool `xorm:"NOT NULL DEFAULT false"` @@ -132,7 +132,7 @@ func AddBranchProtectionCanPushAndEnableWhitelist(x *xorm.Engine) error { } // getUserRepoPermission static function based on issues_model.IsOfficialReviewer at 5d78792385 - getUserRepoPermission := func(sess *xorm.Session, repo *Repository, user *User) (Permission, error) { + getUserRepoPermission := func(sess db.Session, repo *Repository, user *User) (Permission, error) { var perm Permission repoOwner := new(User) @@ -305,7 +305,7 @@ func AddBranchProtectionCanPushAndEnableWhitelist(x *xorm.Engine) error { } // isOfficialReviewer static function based on 5d78792385 - isOfficialReviewer := func(sess *xorm.Session, issueID int64, reviewer *User) (bool, error) { + isOfficialReviewer := func(sess db.Session, issueID int64, reviewer *User) (bool, error) { pr := new(PullRequest) has, err := sess.ID(issueID).Get(pr) if err != nil { diff --git a/models/migrations/v1_11/v112.go b/models/migrations/v1_11/v112.go index fe45cf9222..1c6e72be99 100644 --- a/models/migrations/v1_11/v112.go +++ b/models/migrations/v1_11/v112.go @@ -6,15 +6,15 @@ package v1_11 import ( "path/filepath" + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/modules/log" "code.gitea.io/gitea/modules/setting" "code.gitea.io/gitea/modules/util" "xorm.io/builder" - "xorm.io/xorm" ) -func RemoveAttachmentMissedRepo(x *xorm.Engine) error { +func RemoveAttachmentMissedRepo(x db.EngineMigration) error { type Attachment struct { UUID string `xorm:"uuid"` } diff --git a/models/migrations/v1_11/v113.go b/models/migrations/v1_11/v113.go index a4d54f66fb..1a3584be8e 100644 --- a/models/migrations/v1_11/v113.go +++ b/models/migrations/v1_11/v113.go @@ -6,10 +6,10 @@ package v1_11 import ( "fmt" - "xorm.io/xorm" + "code.gitea.io/gitea/models/db" ) -func FeatureChangeTargetBranch(x *xorm.Engine) error { +func FeatureChangeTargetBranch(x db.EngineMigration) error { type Comment struct { OldRef string NewRef string diff --git a/models/migrations/v1_11/v114.go b/models/migrations/v1_11/v114.go index 9467a8a90c..021e28b437 100644 --- a/models/migrations/v1_11/v114.go +++ b/models/migrations/v1_11/v114.go @@ -6,10 +6,10 @@ package v1_11 import ( "net/url" - "xorm.io/xorm" + "code.gitea.io/gitea/models/db" ) -func SanitizeOriginalURL(x *xorm.Engine) error { +func SanitizeOriginalURL(x db.EngineMigration) error { type Repository struct { ID int64 OriginalURL string `xorm:"VARCHAR(2048)"` diff --git a/models/migrations/v1_11/v115.go b/models/migrations/v1_11/v115.go index 5933c0520f..6c13d89b6b 100644 --- a/models/migrations/v1_11/v115.go +++ b/models/migrations/v1_11/v115.go @@ -12,15 +12,14 @@ import ( "path/filepath" "time" + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/modules/container" "code.gitea.io/gitea/modules/log" "code.gitea.io/gitea/modules/setting" "code.gitea.io/gitea/modules/util" - - "xorm.io/xorm" ) -func RenameExistingUserAvatarName(x *xorm.Engine) error { +func RenameExistingUserAvatarName(x db.EngineMigration) error { sess := x.NewSession() defer sess.Close() diff --git a/models/migrations/v1_11/v116.go b/models/migrations/v1_11/v116.go index 729fbad18b..19a40ede9d 100644 --- a/models/migrations/v1_11/v116.go +++ b/models/migrations/v1_11/v116.go @@ -3,11 +3,9 @@ package v1_11 -import ( - "xorm.io/xorm" -) +import "code.gitea.io/gitea/models/db" -func ExtendTrackedTimes(x *xorm.Engine) error { +func ExtendTrackedTimes(x db.EngineMigration) error { type TrackedTime struct { Time int64 `xorm:"NOT NULL"` Deleted bool `xorm:"NOT NULL DEFAULT false"` diff --git a/models/migrations/v1_12/v117.go b/models/migrations/v1_12/v117.go index 73b58ca34b..b9d240226e 100644 --- a/models/migrations/v1_12/v117.go +++ b/models/migrations/v1_12/v117.go @@ -3,11 +3,9 @@ package v1_12 -import ( - "xorm.io/xorm" -) +import "code.gitea.io/gitea/models/db" -func AddBlockOnRejectedReviews(x *xorm.Engine) error { +func AddBlockOnRejectedReviews(x db.EngineMigration) error { type ProtectedBranch struct { BlockOnRejectedReviews bool `xorm:"NOT NULL DEFAULT false"` } diff --git a/models/migrations/v1_12/v118.go b/models/migrations/v1_12/v118.go index e8b4249743..756b112d00 100644 --- a/models/migrations/v1_12/v118.go +++ b/models/migrations/v1_12/v118.go @@ -3,11 +3,9 @@ package v1_12 -import ( - "xorm.io/xorm" -) +import "code.gitea.io/gitea/models/db" -func AddReviewCommitAndStale(x *xorm.Engine) error { +func AddReviewCommitAndStale(x db.EngineMigration) error { type Review struct { CommitID string `xorm:"VARCHAR(40)"` Stale bool `xorm:"NOT NULL DEFAULT false"` diff --git a/models/migrations/v1_12/v119.go b/models/migrations/v1_12/v119.go index b4bf29a935..dfbee84d82 100644 --- a/models/migrations/v1_12/v119.go +++ b/models/migrations/v1_12/v119.go @@ -3,11 +3,9 @@ package v1_12 -import ( - "xorm.io/xorm" -) +import "code.gitea.io/gitea/models/db" -func FixMigratedRepositoryServiceType(x *xorm.Engine) error { +func FixMigratedRepositoryServiceType(x db.EngineMigration) error { // structs.GithubService: // GithubService = 2 _, err := x.Exec("UPDATE repository SET original_service_type = ? WHERE original_url LIKE 'https://github.com/%'", 2) diff --git a/models/migrations/v1_12/v120.go b/models/migrations/v1_12/v120.go index 14d515f5a7..abec02d313 100644 --- a/models/migrations/v1_12/v120.go +++ b/models/migrations/v1_12/v120.go @@ -3,11 +3,9 @@ package v1_12 -import ( - "xorm.io/xorm" -) +import "code.gitea.io/gitea/models/db" -func AddOwnerNameOnRepository(x *xorm.Engine) error { +func AddOwnerNameOnRepository(x db.EngineMigration) error { type Repository struct { OwnerName string } diff --git a/models/migrations/v1_12/v121.go b/models/migrations/v1_12/v121.go index a28ae4e1c9..4036795fcb 100644 --- a/models/migrations/v1_12/v121.go +++ b/models/migrations/v1_12/v121.go @@ -3,9 +3,9 @@ package v1_12 -import "xorm.io/xorm" +import "code.gitea.io/gitea/models/db" -func AddIsRestricted(x *xorm.Engine) error { +func AddIsRestricted(x db.EngineMigration) error { // User see models/user.go type User struct { ID int64 `xorm:"pk autoincr"` diff --git a/models/migrations/v1_12/v122.go b/models/migrations/v1_12/v122.go index bc1b175f6a..5982dd5662 100644 --- a/models/migrations/v1_12/v122.go +++ b/models/migrations/v1_12/v122.go @@ -3,11 +3,9 @@ package v1_12 -import ( - "xorm.io/xorm" -) +import "code.gitea.io/gitea/models/db" -func AddRequireSignedCommits(x *xorm.Engine) error { +func AddRequireSignedCommits(x db.EngineMigration) error { type ProtectedBranch struct { RequireSignedCommits bool `xorm:"NOT NULL DEFAULT false"` } diff --git a/models/migrations/v1_12/v123.go b/models/migrations/v1_12/v123.go index 52b10bb850..3550b710a7 100644 --- a/models/migrations/v1_12/v123.go +++ b/models/migrations/v1_12/v123.go @@ -3,11 +3,9 @@ package v1_12 -import ( - "xorm.io/xorm" -) +import "code.gitea.io/gitea/models/db" -func AddReactionOriginals(x *xorm.Engine) error { +func AddReactionOriginals(x db.EngineMigration) error { type Reaction struct { OriginalAuthorID int64 `xorm:"INDEX NOT NULL DEFAULT(0)"` OriginalAuthor string diff --git a/models/migrations/v1_12/v124.go b/models/migrations/v1_12/v124.go index 9a93f436d4..d124918f09 100644 --- a/models/migrations/v1_12/v124.go +++ b/models/migrations/v1_12/v124.go @@ -3,11 +3,9 @@ package v1_12 -import ( - "xorm.io/xorm" -) +import "code.gitea.io/gitea/models/db" -func AddUserRepoMissingColumns(x *xorm.Engine) error { +func AddUserRepoMissingColumns(x db.EngineMigration) error { type VisibleType int type User struct { PasswdHashAlgo string `xorm:"NOT NULL DEFAULT 'pbkdf2'"` diff --git a/models/migrations/v1_12/v125.go b/models/migrations/v1_12/v125.go index 7f582ecff5..ce94711599 100644 --- a/models/migrations/v1_12/v125.go +++ b/models/migrations/v1_12/v125.go @@ -6,10 +6,10 @@ package v1_12 import ( "fmt" - "xorm.io/xorm" + "code.gitea.io/gitea/models/db" ) -func AddReviewMigrateInfo(x *xorm.Engine) error { +func AddReviewMigrateInfo(x db.EngineMigration) error { type Review struct { OriginalAuthor string OriginalAuthorID int64 diff --git a/models/migrations/v1_12/v126.go b/models/migrations/v1_12/v126.go index 64fd7f7478..41f816353a 100644 --- a/models/migrations/v1_12/v126.go +++ b/models/migrations/v1_12/v126.go @@ -4,11 +4,12 @@ package v1_12 import ( + "code.gitea.io/gitea/models/db" + "xorm.io/builder" - "xorm.io/xorm" ) -func FixTopicRepositoryCount(x *xorm.Engine) error { +func FixTopicRepositoryCount(x db.EngineMigration) error { _, err := x.Exec(builder.Delete(builder.NotIn("`repo_id`", builder.Select("`id`").From("`repository`"))).From("`repo_topic`")) if err != nil { return err diff --git a/models/migrations/v1_12/v127.go b/models/migrations/v1_12/v127.go index 9bd78db95e..82b2db2eb5 100644 --- a/models/migrations/v1_12/v127.go +++ b/models/migrations/v1_12/v127.go @@ -6,12 +6,11 @@ package v1_12 import ( "fmt" + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/modules/timeutil" - - "xorm.io/xorm" ) -func AddLanguageStats(x *xorm.Engine) error { +func AddLanguageStats(x db.EngineMigration) error { // LanguageStat see models/repo_language_stats.go type LanguageStat struct { ID int64 `xorm:"pk autoincr"` diff --git a/models/migrations/v1_12/v128.go b/models/migrations/v1_12/v128.go index ff5b12af18..7f337db8bc 100644 --- a/models/migrations/v1_12/v128.go +++ b/models/migrations/v1_12/v128.go @@ -11,15 +11,14 @@ import ( "strings" "time" + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/modules/git" "code.gitea.io/gitea/modules/git/gitcmd" "code.gitea.io/gitea/modules/log" "code.gitea.io/gitea/modules/setting" - - "xorm.io/xorm" ) -func FixMergeBase(ctx context.Context, x *xorm.Engine) error { +func FixMergeBase(ctx context.Context, x db.EngineMigration) error { type Repository struct { ID int64 `xorm:"pk autoincr"` OwnerID int64 `xorm:"UNIQUE(s) index"` diff --git a/models/migrations/v1_12/v129.go b/models/migrations/v1_12/v129.go index 3e4d3aca68..90666e5f6f 100644 --- a/models/migrations/v1_12/v129.go +++ b/models/migrations/v1_12/v129.go @@ -3,11 +3,9 @@ package v1_12 -import ( - "xorm.io/xorm" -) +import "code.gitea.io/gitea/models/db" -func PurgeUnusedDependencies(x *xorm.Engine) error { +func PurgeUnusedDependencies(x db.EngineMigration) error { if _, err := x.Exec("DELETE FROM issue_dependency WHERE issue_id NOT IN (SELECT id FROM issue)"); err != nil { return err } diff --git a/models/migrations/v1_12/v130.go b/models/migrations/v1_12/v130.go index 107bb756fd..5245df0fe5 100644 --- a/models/migrations/v1_12/v130.go +++ b/models/migrations/v1_12/v130.go @@ -4,13 +4,12 @@ package v1_12 import ( + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/modules/json" "code.gitea.io/gitea/modules/setting" - - "xorm.io/xorm" ) -func ExpandWebhooks(x *xorm.Engine) error { +func ExpandWebhooks(x db.EngineMigration) error { type HookEvents struct { Create bool `json:"create"` Delete bool `json:"delete"` diff --git a/models/migrations/v1_12/v131.go b/models/migrations/v1_12/v131.go index 1266c2f185..cb7d4f01a6 100644 --- a/models/migrations/v1_12/v131.go +++ b/models/migrations/v1_12/v131.go @@ -6,10 +6,10 @@ package v1_12 import ( "fmt" - "xorm.io/xorm" + "code.gitea.io/gitea/models/db" ) -func AddSystemWebhookColumn(x *xorm.Engine) error { +func AddSystemWebhookColumn(x db.EngineMigration) error { type Webhook struct { IsSystemWebhook bool `xorm:"NOT NULL DEFAULT false"` } diff --git a/models/migrations/v1_12/v132.go b/models/migrations/v1_12/v132.go index 8b1ae6db93..2649fd6457 100644 --- a/models/migrations/v1_12/v132.go +++ b/models/migrations/v1_12/v132.go @@ -6,10 +6,10 @@ package v1_12 import ( "fmt" - "xorm.io/xorm" + "code.gitea.io/gitea/models/db" ) -func AddBranchProtectionProtectedFilesColumn(x *xorm.Engine) error { +func AddBranchProtectionProtectedFilesColumn(x db.EngineMigration) error { type ProtectedBranch struct { ProtectedFilePatterns string `xorm:"TEXT"` } diff --git a/models/migrations/v1_12/v133.go b/models/migrations/v1_12/v133.go index 69e20597d8..8b7e17cd59 100644 --- a/models/migrations/v1_12/v133.go +++ b/models/migrations/v1_12/v133.go @@ -3,9 +3,9 @@ package v1_12 -import "xorm.io/xorm" +import "code.gitea.io/gitea/models/db" -func AddEmailHashTable(x *xorm.Engine) error { +func AddEmailHashTable(x db.EngineMigration) error { // EmailHash represents a pre-generated hash map type EmailHash struct { Hash string `xorm:"pk varchar(32)"` diff --git a/models/migrations/v1_12/v134.go b/models/migrations/v1_12/v134.go index 98bb8dbda7..e804fd6c8d 100644 --- a/models/migrations/v1_12/v134.go +++ b/models/migrations/v1_12/v134.go @@ -11,14 +11,13 @@ import ( "strings" "time" + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/modules/git/gitcmd" "code.gitea.io/gitea/modules/log" "code.gitea.io/gitea/modules/setting" - - "xorm.io/xorm" ) -func RefixMergeBase(ctx context.Context, x *xorm.Engine) error { +func RefixMergeBase(ctx context.Context, x db.EngineMigration) error { type Repository struct { ID int64 `xorm:"pk autoincr"` OwnerID int64 `xorm:"UNIQUE(s) index"` diff --git a/models/migrations/v1_12/v135.go b/models/migrations/v1_12/v135.go index 5df0ad7fc4..e9a0bc7c0b 100644 --- a/models/migrations/v1_12/v135.go +++ b/models/migrations/v1_12/v135.go @@ -6,10 +6,10 @@ package v1_12 import ( "fmt" - "xorm.io/xorm" + "code.gitea.io/gitea/models/db" ) -func AddOrgIDLabelColumn(x *xorm.Engine) error { +func AddOrgIDLabelColumn(x db.EngineMigration) error { type Label struct { OrgID int64 `xorm:"INDEX"` } diff --git a/models/migrations/v1_12/v136.go b/models/migrations/v1_12/v136.go index 20b892b6cc..7ab2dba978 100644 --- a/models/migrations/v1_12/v136.go +++ b/models/migrations/v1_12/v136.go @@ -8,16 +8,15 @@ import ( "math" "time" + "code.gitea.io/gitea/models/db" repo_model "code.gitea.io/gitea/models/repo" "code.gitea.io/gitea/modules/gitrepo" "code.gitea.io/gitea/modules/graceful" "code.gitea.io/gitea/modules/log" "code.gitea.io/gitea/modules/setting" - - "xorm.io/xorm" ) -func AddCommitDivergenceToPulls(x *xorm.Engine) error { +func AddCommitDivergenceToPulls(x db.EngineMigration) error { type Repository struct { ID int64 `xorm:"pk autoincr"` OwnerID int64 `xorm:"UNIQUE(s) index"` diff --git a/models/migrations/v1_12/v137.go b/models/migrations/v1_12/v137.go index 9d38483488..0d80b1e575 100644 --- a/models/migrations/v1_12/v137.go +++ b/models/migrations/v1_12/v137.go @@ -3,11 +3,9 @@ package v1_12 -import ( - "xorm.io/xorm" -) +import "code.gitea.io/gitea/models/db" -func AddBlockOnOutdatedBranch(x *xorm.Engine) error { +func AddBlockOnOutdatedBranch(x db.EngineMigration) error { type ProtectedBranch struct { BlockOnOutdatedBranch bool `xorm:"NOT NULL DEFAULT false"` } diff --git a/models/migrations/v1_12/v138.go b/models/migrations/v1_12/v138.go index 4485adeb2d..33cb5851dc 100644 --- a/models/migrations/v1_12/v138.go +++ b/models/migrations/v1_12/v138.go @@ -6,10 +6,10 @@ package v1_12 import ( "fmt" - "xorm.io/xorm" + "code.gitea.io/gitea/models/db" ) -func AddResolveDoerIDCommentColumn(x *xorm.Engine) error { +func AddResolveDoerIDCommentColumn(x db.EngineMigration) error { type Comment struct { ResolveDoerID int64 } diff --git a/models/migrations/v1_12/v139.go b/models/migrations/v1_12/v139.go index a3799841ac..d0f35dcc45 100644 --- a/models/migrations/v1_12/v139.go +++ b/models/migrations/v1_12/v139.go @@ -4,12 +4,11 @@ package v1_12 import ( + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/modules/setting" - - "xorm.io/xorm" ) -func PrependRefsHeadsToIssueRefs(x *xorm.Engine) error { +func PrependRefsHeadsToIssueRefs(x db.EngineMigration) error { var query string switch { diff --git a/models/migrations/v1_13/v140.go b/models/migrations/v1_13/v140.go index a9a047bca9..53057048ca 100644 --- a/models/migrations/v1_13/v140.go +++ b/models/migrations/v1_13/v140.go @@ -6,13 +6,12 @@ package v1_13 import ( "fmt" + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/models/migrations/base" "code.gitea.io/gitea/modules/setting" - - "xorm.io/xorm" ) -func FixLanguageStatsToSaveSize(x *xorm.Engine) error { +func FixLanguageStatsToSaveSize(x db.EngineMigration) error { // LanguageStat see models/repo_language_stats.go type LanguageStat struct { Size int64 `xorm:"NOT NULL DEFAULT 0"` diff --git a/models/migrations/v1_13/v141.go b/models/migrations/v1_13/v141.go index b54bc1727c..c1a935b16d 100644 --- a/models/migrations/v1_13/v141.go +++ b/models/migrations/v1_13/v141.go @@ -6,10 +6,10 @@ package v1_13 import ( "fmt" - "xorm.io/xorm" + "code.gitea.io/gitea/models/db" ) -func AddKeepActivityPrivateUserColumn(x *xorm.Engine) error { +func AddKeepActivityPrivateUserColumn(x db.EngineMigration) error { type User struct { KeepActivityPrivate bool `xorm:"NOT NULL DEFAULT false"` } diff --git a/models/migrations/v1_13/v142.go b/models/migrations/v1_13/v142.go index d08a0ae0bf..5207960aec 100644 --- a/models/migrations/v1_13/v142.go +++ b/models/migrations/v1_13/v142.go @@ -4,13 +4,13 @@ package v1_13 import ( + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/modules/log" "xorm.io/builder" - "xorm.io/xorm" ) -func SetIsArchivedToFalse(x *xorm.Engine) error { +func SetIsArchivedToFalse(x db.EngineMigration) error { type Repository struct { IsArchived bool `xorm:"INDEX"` } diff --git a/models/migrations/v1_13/v143.go b/models/migrations/v1_13/v143.go index b9a856ed0f..84e68c304d 100644 --- a/models/migrations/v1_13/v143.go +++ b/models/migrations/v1_13/v143.go @@ -4,12 +4,11 @@ package v1_13 import ( + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/modules/log" - - "xorm.io/xorm" ) -func RecalculateStars(x *xorm.Engine) (err error) { +func RecalculateStars(x db.EngineMigration) (err error) { // because of issue https://github.com/go-gitea/gitea/issues/11949, // recalculate Stars number for all users to fully fix it. diff --git a/models/migrations/v1_13/v144.go b/models/migrations/v1_13/v144.go index 9352d78bc8..4e85694f6f 100644 --- a/models/migrations/v1_13/v144.go +++ b/models/migrations/v1_13/v144.go @@ -4,13 +4,13 @@ package v1_13 import ( + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/modules/log" "xorm.io/builder" - "xorm.io/xorm" ) -func UpdateMatrixWebhookHTTPMethod(x *xorm.Engine) error { +func UpdateMatrixWebhookHTTPMethod(x db.EngineMigration) error { matrixHookTaskType := 9 // value comes from the models package type Webhook struct { HTTPMethod string diff --git a/models/migrations/v1_13/v145.go b/models/migrations/v1_13/v145.go index 86ebb4f9d9..0bca23fc76 100644 --- a/models/migrations/v1_13/v145.go +++ b/models/migrations/v1_13/v145.go @@ -6,12 +6,11 @@ package v1_13 import ( "fmt" + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/modules/setting" - - "xorm.io/xorm" ) -func IncreaseLanguageField(x *xorm.Engine) error { +func IncreaseLanguageField(x db.EngineMigration) error { type LanguageStat struct { RepoID int64 `xorm:"UNIQUE(s) INDEX NOT NULL"` Language string `xorm:"VARCHAR(50) UNIQUE(s) INDEX NOT NULL"` diff --git a/models/migrations/v1_13/v146.go b/models/migrations/v1_13/v146.go index 355c772c26..29ee1025b3 100644 --- a/models/migrations/v1_13/v146.go +++ b/models/migrations/v1_13/v146.go @@ -4,12 +4,11 @@ package v1_13 import ( + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/modules/timeutil" - - "xorm.io/xorm" ) -func AddProjectsInfo(x *xorm.Engine) error { +func AddProjectsInfo(x db.EngineMigration) error { // Create new tables type ( ProjectType uint8 diff --git a/models/migrations/v1_13/v147.go b/models/migrations/v1_13/v147.go index 0059c06220..af755c10a5 100644 --- a/models/migrations/v1_13/v147.go +++ b/models/migrations/v1_13/v147.go @@ -4,12 +4,11 @@ package v1_13 import ( + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/modules/timeutil" - - "xorm.io/xorm" ) -func CreateReviewsForCodeComments(x *xorm.Engine) error { +func CreateReviewsForCodeComments(x db.EngineMigration) error { // Review type Review struct { ID int64 `xorm:"pk autoincr"` diff --git a/models/migrations/v1_13/v148.go b/models/migrations/v1_13/v148.go index d276db3d61..e54f5c4ba5 100644 --- a/models/migrations/v1_13/v148.go +++ b/models/migrations/v1_13/v148.go @@ -3,11 +3,9 @@ package v1_13 -import ( - "xorm.io/xorm" -) +import "code.gitea.io/gitea/models/db" -func PurgeInvalidDependenciesComments(x *xorm.Engine) error { +func PurgeInvalidDependenciesComments(x db.EngineMigration) error { _, err := x.Exec("DELETE FROM comment WHERE dependent_issue_id != 0 AND dependent_issue_id NOT IN (SELECT id FROM issue)") return err } diff --git a/models/migrations/v1_13/v149.go b/models/migrations/v1_13/v149.go index a96b8e5ac7..c3fcf85b32 100644 --- a/models/migrations/v1_13/v149.go +++ b/models/migrations/v1_13/v149.go @@ -6,12 +6,11 @@ package v1_13 import ( "fmt" + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/modules/timeutil" - - "xorm.io/xorm" ) -func AddCreatedAndUpdatedToMilestones(x *xorm.Engine) error { +func AddCreatedAndUpdatedToMilestones(x db.EngineMigration) error { type Milestone struct { CreatedUnix timeutil.TimeStamp `xorm:"INDEX created"` UpdatedUnix timeutil.TimeStamp `xorm:"INDEX updated"` diff --git a/models/migrations/v1_13/v150.go b/models/migrations/v1_13/v150.go index 590ea72903..0714cae4db 100644 --- a/models/migrations/v1_13/v150.go +++ b/models/migrations/v1_13/v150.go @@ -4,13 +4,12 @@ package v1_13 import ( + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/models/migrations/base" "code.gitea.io/gitea/modules/timeutil" - - "xorm.io/xorm" ) -func AddPrimaryKeyToRepoTopic(x *xorm.Engine) error { +func AddPrimaryKeyToRepoTopic(x db.EngineMigration) error { // Topic represents a topic of repositories type Topic struct { ID int64 `xorm:"pk autoincr"` diff --git a/models/migrations/v1_13/v151.go b/models/migrations/v1_13/v151.go index 454929534f..cef17bc8d5 100644 --- a/models/migrations/v1_13/v151.go +++ b/models/migrations/v1_13/v151.go @@ -9,14 +9,14 @@ import ( "fmt" "strings" + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/modules/log" "code.gitea.io/gitea/modules/setting" - "xorm.io/xorm" "xorm.io/xorm/schemas" ) -func SetDefaultPasswordToArgon2(x *xorm.Engine) error { +func SetDefaultPasswordToArgon2(x db.EngineMigration) error { switch { case setting.Database.Type.IsMySQL(): _, err := x.Exec("ALTER TABLE `user` ALTER passwd_hash_algo SET DEFAULT 'argon2';") diff --git a/models/migrations/v1_13/v152.go b/models/migrations/v1_13/v152.go index 648e26446f..24d45b6c34 100644 --- a/models/migrations/v1_13/v152.go +++ b/models/migrations/v1_13/v152.go @@ -3,9 +3,9 @@ package v1_13 -import "xorm.io/xorm" +import "code.gitea.io/gitea/models/db" -func AddTrustModelToRepository(x *xorm.Engine) error { +func AddTrustModelToRepository(x db.EngineMigration) error { type Repository struct { TrustModel int } diff --git a/models/migrations/v1_13/v153.go b/models/migrations/v1_13/v153.go index e5462fc162..0c13b2cb89 100644 --- a/models/migrations/v1_13/v153.go +++ b/models/migrations/v1_13/v153.go @@ -3,11 +3,9 @@ package v1_13 -import ( - "xorm.io/xorm" -) +import "code.gitea.io/gitea/models/db" -func AddTeamReviewRequestSupport(x *xorm.Engine) error { +func AddTeamReviewRequestSupport(x db.EngineMigration) error { type Review struct { ReviewerTeamID int64 `xorm:"NOT NULL DEFAULT 0"` } diff --git a/models/migrations/v1_13/v154.go b/models/migrations/v1_13/v154.go index 5477d1b889..63e415e7ce 100644 --- a/models/migrations/v1_13/v154.go +++ b/models/migrations/v1_13/v154.go @@ -4,12 +4,11 @@ package v1_13 import ( + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/modules/timeutil" - - "xorm.io/xorm" ) -func AddTimeStamps(x *xorm.Engine) error { +func AddTimeStamps(x db.EngineMigration) error { // this will add timestamps where it is useful to have // Star represents a starred repo by an user. diff --git a/models/migrations/v1_14/v155.go b/models/migrations/v1_14/v155.go index 505a9ae033..de93cb5d8c 100644 --- a/models/migrations/v1_14/v155.go +++ b/models/migrations/v1_14/v155.go @@ -6,10 +6,10 @@ package v1_14 import ( "fmt" - "xorm.io/xorm" + "code.gitea.io/gitea/models/db" ) -func AddChangedProtectedFilesPullRequestColumn(x *xorm.Engine) error { +func AddChangedProtectedFilesPullRequestColumn(x db.EngineMigration) error { type PullRequest struct { ChangedProtectedFiles []string `xorm:"TEXT JSON"` } diff --git a/models/migrations/v1_14/v156.go b/models/migrations/v1_14/v156.go index 593d3f9c70..c9b17306d0 100644 --- a/models/migrations/v1_14/v156.go +++ b/models/migrations/v1_14/v156.go @@ -9,11 +9,10 @@ import ( "path/filepath" "strings" + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/modules/git" "code.gitea.io/gitea/modules/log" "code.gitea.io/gitea/modules/setting" - - "xorm.io/xorm" ) // Copy paste from models/repo.go because we cannot import models package @@ -25,7 +24,7 @@ func userPath(userName string) string { return filepath.Join(setting.RepoRootPath, strings.ToLower(userName)) } -func FixPublisherIDforTagReleases(ctx context.Context, x *xorm.Engine) error { +func FixPublisherIDforTagReleases(ctx context.Context, x db.EngineMigration) error { type Release struct { ID int64 RepoID int64 diff --git a/models/migrations/v1_14/v157.go b/models/migrations/v1_14/v157.go index 2c5625ebbd..8ce460a978 100644 --- a/models/migrations/v1_14/v157.go +++ b/models/migrations/v1_14/v157.go @@ -3,11 +3,9 @@ package v1_14 -import ( - "xorm.io/xorm" -) +import "code.gitea.io/gitea/models/db" -func FixRepoTopics(x *xorm.Engine) error { +func FixRepoTopics(x db.EngineMigration) error { type Repository struct { ID int64 `xorm:"pk autoincr"` Topics []string `xorm:"TEXT JSON"` diff --git a/models/migrations/v1_14/v158.go b/models/migrations/v1_14/v158.go index 3c57e8e3da..2b1cde41b5 100644 --- a/models/migrations/v1_14/v158.go +++ b/models/migrations/v1_14/v158.go @@ -7,13 +7,12 @@ import ( "errors" "strconv" + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/modules/log" "code.gitea.io/gitea/modules/setting" - - "xorm.io/xorm" ) -func UpdateCodeCommentReplies(x *xorm.Engine) error { +func UpdateCodeCommentReplies(x db.EngineMigration) error { type Comment struct { ID int64 `xorm:"pk autoincr"` CommitSHA string `xorm:"VARCHAR(40)"` diff --git a/models/migrations/v1_14/v159.go b/models/migrations/v1_14/v159.go index e6f6f0f061..42da0bfef4 100644 --- a/models/migrations/v1_14/v159.go +++ b/models/migrations/v1_14/v159.go @@ -4,13 +4,12 @@ package v1_14 import ( + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/models/migrations/base" "code.gitea.io/gitea/modules/timeutil" - - "xorm.io/xorm" ) -func UpdateReactionConstraint(x *xorm.Engine) error { +func UpdateReactionConstraint(x db.EngineMigration) error { // Reaction represents a reactions on issues and comments. type Reaction struct { ID int64 `xorm:"pk autoincr"` diff --git a/models/migrations/v1_14/v160.go b/models/migrations/v1_14/v160.go index 73f3798954..fcfd738e4c 100644 --- a/models/migrations/v1_14/v160.go +++ b/models/migrations/v1_14/v160.go @@ -3,11 +3,9 @@ package v1_14 -import ( - "xorm.io/xorm" -) +import "code.gitea.io/gitea/models/db" -func AddBlockOnOfficialReviewRequests(x *xorm.Engine) error { +func AddBlockOnOfficialReviewRequests(x db.EngineMigration) error { type ProtectedBranch struct { BlockOnOfficialReviewRequests bool `xorm:"NOT NULL DEFAULT false"` } diff --git a/models/migrations/v1_14/v161.go b/models/migrations/v1_14/v161.go index eb92dee77c..6cecf53113 100644 --- a/models/migrations/v1_14/v161.go +++ b/models/migrations/v1_14/v161.go @@ -6,12 +6,11 @@ package v1_14 import ( "context" + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/models/migrations/base" - - "xorm.io/xorm" ) -func ConvertTaskTypeToString(x *xorm.Engine) error { +func ConvertTaskTypeToString(x db.EngineMigration) error { const ( GOGS int = iota + 1 SLACK diff --git a/models/migrations/v1_14/v162.go b/models/migrations/v1_14/v162.go index a0ddd36d55..60c6bfee2c 100644 --- a/models/migrations/v1_14/v162.go +++ b/models/migrations/v1_14/v162.go @@ -4,12 +4,11 @@ package v1_14 import ( + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/models/migrations/base" - - "xorm.io/xorm" ) -func ConvertWebhookTaskTypeToString(x *xorm.Engine) error { +func ConvertWebhookTaskTypeToString(x db.EngineMigration) error { const ( GOGS int = iota + 1 SLACK diff --git a/models/migrations/v1_14/v163.go b/models/migrations/v1_14/v163.go index 84c35190b7..d7e763ee5c 100644 --- a/models/migrations/v1_14/v163.go +++ b/models/migrations/v1_14/v163.go @@ -4,12 +4,11 @@ package v1_14 import ( + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/models/migrations/base" - - "xorm.io/xorm" ) -func ConvertTopicNameFrom25To50(x *xorm.Engine) error { +func ConvertTopicNameFrom25To50(x db.EngineMigration) error { type Topic struct { ID int64 `xorm:"pk autoincr"` Name string `xorm:"UNIQUE VARCHAR(50)"` diff --git a/models/migrations/v1_14/v164.go b/models/migrations/v1_14/v164.go index d2fd9b8464..17adc3f46a 100644 --- a/models/migrations/v1_14/v164.go +++ b/models/migrations/v1_14/v164.go @@ -6,7 +6,7 @@ package v1_14 import ( "fmt" - "xorm.io/xorm" + "code.gitea.io/gitea/models/db" ) // OAuth2Grant here is a snapshot of models.OAuth2Grant for this version @@ -29,7 +29,7 @@ func (grant *OAuth2Grant) TableName() string { return "oauth2_grant" } -func AddScopeAndNonceColumnsToOAuth2Grant(x *xorm.Engine) error { +func AddScopeAndNonceColumnsToOAuth2Grant(x db.EngineMigration) error { if err := x.Sync(new(OAuth2Grant)); err != nil { return fmt.Errorf("Sync: %w", err) } diff --git a/models/migrations/v1_14/v165.go b/models/migrations/v1_14/v165.go index 6e1b34156b..c528049e69 100644 --- a/models/migrations/v1_14/v165.go +++ b/models/migrations/v1_14/v165.go @@ -4,13 +4,13 @@ package v1_14 import ( + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/models/migrations/base" - "xorm.io/xorm" "xorm.io/xorm/schemas" ) -func ConvertHookTaskTypeToVarcharAndTrim(x *xorm.Engine) error { +func ConvertHookTaskTypeToVarcharAndTrim(x db.EngineMigration) error { dbType := x.Dialect().URI().DBType if dbType == schemas.SQLITE { // For SQLITE, varchar or char will always be represented as TEXT return nil diff --git a/models/migrations/v1_14/v166.go b/models/migrations/v1_14/v166.go index 4c106bd7da..e3f53475b1 100644 --- a/models/migrations/v1_14/v166.go +++ b/models/migrations/v1_14/v166.go @@ -7,15 +7,16 @@ import ( "crypto/sha256" "encoding/hex" + "code.gitea.io/gitea/models/db" + "golang.org/x/crypto/argon2" "golang.org/x/crypto/bcrypt" "golang.org/x/crypto/pbkdf2" "golang.org/x/crypto/scrypt" "xorm.io/builder" - "xorm.io/xorm" ) -func RecalculateUserEmptyPWD(x *xorm.Engine) (err error) { +func RecalculateUserEmptyPWD(x db.EngineMigration) (err error) { const ( algoBcrypt = "bcrypt" algoScrypt = "scrypt" diff --git a/models/migrations/v1_14/v167.go b/models/migrations/v1_14/v167.go index d77bbc401e..b38f26bd0f 100644 --- a/models/migrations/v1_14/v167.go +++ b/models/migrations/v1_14/v167.go @@ -6,10 +6,10 @@ package v1_14 import ( "fmt" - "xorm.io/xorm" + "code.gitea.io/gitea/models/db" ) -func AddUserRedirect(x *xorm.Engine) (err error) { +func AddUserRedirect(x db.EngineMigration) (err error) { type UserRedirect struct { ID int64 `xorm:"pk autoincr"` LowerName string `xorm:"UNIQUE(s) INDEX NOT NULL"` diff --git a/models/migrations/v1_14/v168.go b/models/migrations/v1_14/v168.go index aa93eec19b..15d57364a0 100644 --- a/models/migrations/v1_14/v168.go +++ b/models/migrations/v1_14/v168.go @@ -3,8 +3,8 @@ package v1_14 -import "xorm.io/xorm" +import "code.gitea.io/gitea/models/db" -func RecreateUserTableToFixDefaultValues(_ *xorm.Engine) error { +func RecreateUserTableToFixDefaultValues(_ db.EngineMigration) error { return nil } diff --git a/models/migrations/v1_14/v169.go b/models/migrations/v1_14/v169.go index 4f9df0d96f..5838348867 100644 --- a/models/migrations/v1_14/v169.go +++ b/models/migrations/v1_14/v169.go @@ -3,11 +3,9 @@ package v1_14 -import ( - "xorm.io/xorm" -) +import "code.gitea.io/gitea/models/db" -func CommentTypeDeleteBranchUseOldRef(x *xorm.Engine) error { +func CommentTypeDeleteBranchUseOldRef(x db.EngineMigration) error { _, err := x.Exec("UPDATE comment SET old_ref = commit_sha, commit_sha = '' WHERE type = 11") return err } diff --git a/models/migrations/v1_14/v170.go b/models/migrations/v1_14/v170.go index a2ff4623e1..9e91e56b96 100644 --- a/models/migrations/v1_14/v170.go +++ b/models/migrations/v1_14/v170.go @@ -6,10 +6,10 @@ package v1_14 import ( "fmt" - "xorm.io/xorm" + "code.gitea.io/gitea/models/db" ) -func AddDismissedReviewColumn(x *xorm.Engine) error { +func AddDismissedReviewColumn(x db.EngineMigration) error { type Review struct { Dismissed bool `xorm:"NOT NULL DEFAULT false"` } diff --git a/models/migrations/v1_14/v171.go b/models/migrations/v1_14/v171.go index 7b200e960a..82d20c4369 100644 --- a/models/migrations/v1_14/v171.go +++ b/models/migrations/v1_14/v171.go @@ -6,10 +6,10 @@ package v1_14 import ( "fmt" - "xorm.io/xorm" + "code.gitea.io/gitea/models/db" ) -func AddSortingColToProjectBoard(x *xorm.Engine) error { +func AddSortingColToProjectBoard(x db.EngineMigration) error { type ProjectBoard struct { Sorting int8 `xorm:"NOT NULL DEFAULT 0"` } diff --git a/models/migrations/v1_14/v172.go b/models/migrations/v1_14/v172.go index bbd61d87b2..3d2ea83647 100644 --- a/models/migrations/v1_14/v172.go +++ b/models/migrations/v1_14/v172.go @@ -4,12 +4,11 @@ package v1_14 import ( + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/modules/timeutil" - - "xorm.io/xorm" ) -func AddSessionTable(x *xorm.Engine) error { +func AddSessionTable(x db.EngineMigration) error { type Session struct { Key string `xorm:"pk CHAR(16)"` Data []byte `xorm:"BLOB"` diff --git a/models/migrations/v1_14/v173.go b/models/migrations/v1_14/v173.go index 7752fbe966..2d11a16ad3 100644 --- a/models/migrations/v1_14/v173.go +++ b/models/migrations/v1_14/v173.go @@ -6,10 +6,10 @@ package v1_14 import ( "fmt" - "xorm.io/xorm" + "code.gitea.io/gitea/models/db" ) -func AddTimeIDCommentColumn(x *xorm.Engine) error { +func AddTimeIDCommentColumn(x db.EngineMigration) error { type Comment struct { TimeID int64 } diff --git a/models/migrations/v1_14/v174.go b/models/migrations/v1_14/v174.go index 4049e43070..2eca58b1ce 100644 --- a/models/migrations/v1_14/v174.go +++ b/models/migrations/v1_14/v174.go @@ -6,10 +6,10 @@ package v1_14 import ( "fmt" - "xorm.io/xorm" + "code.gitea.io/gitea/models/db" ) -func AddRepoTransfer(x *xorm.Engine) error { +func AddRepoTransfer(x db.EngineMigration) error { type RepoTransfer struct { ID int64 `xorm:"pk autoincr"` DoerID int64 diff --git a/models/migrations/v1_14/v175.go b/models/migrations/v1_14/v175.go index 92ed130473..8114c4bd5a 100644 --- a/models/migrations/v1_14/v175.go +++ b/models/migrations/v1_14/v175.go @@ -7,13 +7,12 @@ import ( "fmt" "regexp" + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/modules/log" "code.gitea.io/gitea/modules/setting" - - "xorm.io/xorm" ) -func FixPostgresIDSequences(x *xorm.Engine) error { +func FixPostgresIDSequences(x db.EngineMigration) error { if !setting.Database.Type.IsPostgreSQL() { return nil } diff --git a/models/migrations/v1_14/v176.go b/models/migrations/v1_14/v176.go index ef5dce9a02..faad5f32f2 100644 --- a/models/migrations/v1_14/v176.go +++ b/models/migrations/v1_14/v176.go @@ -3,14 +3,12 @@ package v1_14 -import ( - "xorm.io/xorm" -) +import "code.gitea.io/gitea/models/db" // RemoveInvalidLabels looks through the database to look for comments and issue_labels // that refer to labels do not belong to the repository or organization that repository // that the issue is in -func RemoveInvalidLabels(x *xorm.Engine) error { +func RemoveInvalidLabels(x db.EngineMigration) error { type Comment struct { ID int64 `xorm:"pk autoincr"` Type int `xorm:"INDEX"` diff --git a/models/migrations/v1_14/v177.go b/models/migrations/v1_14/v177.go index 96676bf8d9..625f2f387d 100644 --- a/models/migrations/v1_14/v177.go +++ b/models/migrations/v1_14/v177.go @@ -6,11 +6,11 @@ package v1_14 import ( "fmt" - "xorm.io/xorm" + "code.gitea.io/gitea/models/db" ) // DeleteOrphanedIssueLabels looks through the database for issue_labels where the label no longer exists and deletes them. -func DeleteOrphanedIssueLabels(x *xorm.Engine) error { +func DeleteOrphanedIssueLabels(x db.EngineMigration) error { type IssueLabel struct { ID int64 `xorm:"pk autoincr"` IssueID int64 `xorm:"UNIQUE(s)"` diff --git a/models/migrations/v1_15/v178.go b/models/migrations/v1_15/v178.go index ca3a5c262e..2a2a77c696 100644 --- a/models/migrations/v1_15/v178.go +++ b/models/migrations/v1_15/v178.go @@ -3,11 +3,9 @@ package v1_15 -import ( - "xorm.io/xorm" -) +import "code.gitea.io/gitea/models/db" -func AddLFSMirrorColumns(x *xorm.Engine) error { +func AddLFSMirrorColumns(x db.EngineMigration) error { type Mirror struct { LFS bool `xorm:"lfs_enabled NOT NULL DEFAULT false"` LFSEndpoint string `xorm:"lfs_endpoint TEXT"` diff --git a/models/migrations/v1_15/v179.go b/models/migrations/v1_15/v179.go index d6fb86ffec..1210f54ac9 100644 --- a/models/migrations/v1_15/v179.go +++ b/models/migrations/v1_15/v179.go @@ -4,13 +4,13 @@ package v1_15 import ( + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/models/migrations/base" - "xorm.io/xorm" "xorm.io/xorm/schemas" ) -func ConvertAvatarURLToText(x *xorm.Engine) error { +func ConvertAvatarURLToText(x db.EngineMigration) error { dbType := x.Dialect().URI().DBType if dbType == schemas.SQLITE { // For SQLITE, varchar or char will always be represented as TEXT return nil diff --git a/models/migrations/v1_15/v180.go b/models/migrations/v1_15/v180.go index dd132f8330..7e6388a99c 100644 --- a/models/migrations/v1_15/v180.go +++ b/models/migrations/v1_15/v180.go @@ -4,14 +4,14 @@ package v1_15 import ( + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/modules/json" "code.gitea.io/gitea/modules/util" "xorm.io/builder" - "xorm.io/xorm" ) -func DeleteMigrationCredentials(x *xorm.Engine) (err error) { +func DeleteMigrationCredentials(x db.EngineMigration) (err error) { // Task represents a task type Task struct { ID int64 diff --git a/models/migrations/v1_15/v181.go b/models/migrations/v1_15/v181.go index fb1d3d7a75..f4032ed19e 100644 --- a/models/migrations/v1_15/v181.go +++ b/models/migrations/v1_15/v181.go @@ -6,10 +6,10 @@ package v1_15 import ( "strings" - "xorm.io/xorm" + "code.gitea.io/gitea/models/db" ) -func AddPrimaryEmail2EmailAddress(x *xorm.Engine) error { +func AddPrimaryEmail2EmailAddress(x db.EngineMigration) error { type User struct { ID int64 `xorm:"pk autoincr"` Email string `xorm:"NOT NULL"` diff --git a/models/migrations/v1_15/v182.go b/models/migrations/v1_15/v182.go index f53ff11df9..1b577ea359 100644 --- a/models/migrations/v1_15/v182.go +++ b/models/migrations/v1_15/v182.go @@ -3,11 +3,9 @@ package v1_15 -import ( - "xorm.io/xorm" -) +import "code.gitea.io/gitea/models/db" -func AddIssueResourceIndexTable(x *xorm.Engine) error { +func AddIssueResourceIndexTable(x db.EngineMigration) error { type ResourceIndex struct { GroupID int64 `xorm:"pk"` MaxIndex int64 `xorm:"index"` diff --git a/models/migrations/v1_15/v183.go b/models/migrations/v1_15/v183.go index 5d0582f03d..30835ea3b8 100644 --- a/models/migrations/v1_15/v183.go +++ b/models/migrations/v1_15/v183.go @@ -7,12 +7,11 @@ import ( "fmt" "time" + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/modules/timeutil" - - "xorm.io/xorm" ) -func CreatePushMirrorTable(x *xorm.Engine) error { +func CreatePushMirrorTable(x db.EngineMigration) error { type PushMirror struct { ID int64 `xorm:"pk autoincr"` RepoID int64 `xorm:"INDEX"` diff --git a/models/migrations/v1_15/v184.go b/models/migrations/v1_15/v184.go index 2823bc1f7a..9933b12a49 100644 --- a/models/migrations/v1_15/v184.go +++ b/models/migrations/v1_15/v184.go @@ -7,13 +7,12 @@ import ( "context" "fmt" + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/models/migrations/base" "code.gitea.io/gitea/modules/setting" - - "xorm.io/xorm" ) -func RenameTaskErrorsToMessage(x *xorm.Engine) error { +func RenameTaskErrorsToMessage(x db.EngineMigration) error { type Task struct { Errors string `xorm:"TEXT"` // if task failed, saved the error reason Type int diff --git a/models/migrations/v1_15/v185.go b/models/migrations/v1_15/v185.go index 60af59edca..e4750c6766 100644 --- a/models/migrations/v1_15/v185.go +++ b/models/migrations/v1_15/v185.go @@ -3,11 +3,9 @@ package v1_15 -import ( - "xorm.io/xorm" -) +import "code.gitea.io/gitea/models/db" -func AddRepoArchiver(x *xorm.Engine) error { +func AddRepoArchiver(x db.EngineMigration) error { // RepoArchiver represents all archivers type RepoArchiver struct { ID int64 `xorm:"pk autoincr"` diff --git a/models/migrations/v1_15/v186.go b/models/migrations/v1_15/v186.go index 67dc97d13d..da8ba69ca9 100644 --- a/models/migrations/v1_15/v186.go +++ b/models/migrations/v1_15/v186.go @@ -4,12 +4,11 @@ package v1_15 import ( + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/modules/timeutil" - - "xorm.io/xorm" ) -func CreateProtectedTagTable(x *xorm.Engine) error { +func CreateProtectedTagTable(x db.EngineMigration) error { type ProtectedTag struct { ID int64 `xorm:"pk autoincr"` RepoID int64 diff --git a/models/migrations/v1_15/v187.go b/models/migrations/v1_15/v187.go index 5fd90c65fb..2bb27edfac 100644 --- a/models/migrations/v1_15/v187.go +++ b/models/migrations/v1_15/v187.go @@ -4,12 +4,11 @@ package v1_15 import ( + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/models/migrations/base" - - "xorm.io/xorm" ) -func DropWebhookColumns(x *xorm.Engine) error { +func DropWebhookColumns(x db.EngineMigration) error { // Make sure the columns exist before dropping them type Webhook struct { Signature string `xorm:"TEXT"` diff --git a/models/migrations/v1_15/v188.go b/models/migrations/v1_15/v188.go index 4494e6ff05..a29005abc7 100644 --- a/models/migrations/v1_15/v188.go +++ b/models/migrations/v1_15/v188.go @@ -3,9 +3,9 @@ package v1_15 -import "xorm.io/xorm" +import "code.gitea.io/gitea/models/db" -func AddKeyIsVerified(x *xorm.Engine) error { +func AddKeyIsVerified(x db.EngineMigration) error { type GPGKey struct { Verified bool `xorm:"NOT NULL DEFAULT false"` } diff --git a/models/migrations/v1_16/v189.go b/models/migrations/v1_16/v189.go index 6bc99e58ab..1b39770f44 100644 --- a/models/migrations/v1_16/v189.go +++ b/models/migrations/v1_16/v189.go @@ -7,13 +7,12 @@ import ( "encoding/binary" "fmt" + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/models/migrations/base" "code.gitea.io/gitea/modules/json" - - "xorm.io/xorm" ) -func UnwrapLDAPSourceCfg(x *xorm.Engine) error { +func UnwrapLDAPSourceCfg(x db.EngineMigration) error { jsonUnmarshalHandleDoubleEncode := func(bs []byte, v any) error { err := json.Unmarshal(bs, v) if err != nil { diff --git a/models/migrations/v1_16/v190.go b/models/migrations/v1_16/v190.go index 1eb6b6ddb4..d6d5d885b5 100644 --- a/models/migrations/v1_16/v190.go +++ b/models/migrations/v1_16/v190.go @@ -6,10 +6,10 @@ package v1_16 import ( "fmt" - "xorm.io/xorm" + "code.gitea.io/gitea/models/db" ) -func AddAgitFlowPullRequest(x *xorm.Engine) error { +func AddAgitFlowPullRequest(x db.EngineMigration) error { type PullRequestFlow int type PullRequest struct { diff --git a/models/migrations/v1_16/v191.go b/models/migrations/v1_16/v191.go index 957c82e484..03f287c827 100644 --- a/models/migrations/v1_16/v191.go +++ b/models/migrations/v1_16/v191.go @@ -4,12 +4,11 @@ package v1_16 import ( + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/modules/setting" - - "xorm.io/xorm" ) -func AlterIssueAndCommentTextFieldsToLongText(x *xorm.Engine) error { +func AlterIssueAndCommentTextFieldsToLongText(x db.EngineMigration) error { sess := x.NewSession() defer sess.Close() if err := sess.Begin(); err != nil { diff --git a/models/migrations/v1_16/v192.go b/models/migrations/v1_16/v192.go index 9d03fbe3c8..ce0a69a8ce 100644 --- a/models/migrations/v1_16/v192.go +++ b/models/migrations/v1_16/v192.go @@ -4,12 +4,11 @@ package v1_16 import ( + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/models/migrations/base" - - "xorm.io/xorm" ) -func RecreateIssueResourceIndexTable(x *xorm.Engine) error { +func RecreateIssueResourceIndexTable(x db.EngineMigration) error { type IssueIndex struct { GroupID int64 `xorm:"pk"` MaxIndex int64 `xorm:"index"` diff --git a/models/migrations/v1_16/v193.go b/models/migrations/v1_16/v193.go index a5af2de380..615f214018 100644 --- a/models/migrations/v1_16/v193.go +++ b/models/migrations/v1_16/v193.go @@ -3,11 +3,9 @@ package v1_16 -import ( - "xorm.io/xorm" -) +import "code.gitea.io/gitea/models/db" -func AddRepoIDForAttachment(x *xorm.Engine) error { +func AddRepoIDForAttachment(x db.EngineMigration) error { type Attachment struct { ID int64 `xorm:"pk autoincr"` UUID string `xorm:"uuid UNIQUE"` diff --git a/models/migrations/v1_16/v194.go b/models/migrations/v1_16/v194.go index 2e4ed8340e..00b4fccc21 100644 --- a/models/migrations/v1_16/v194.go +++ b/models/migrations/v1_16/v194.go @@ -6,10 +6,10 @@ package v1_16 import ( "fmt" - "xorm.io/xorm" + "code.gitea.io/gitea/models/db" ) -func AddBranchProtectionUnprotectedFilesColumn(x *xorm.Engine) error { +func AddBranchProtectionUnprotectedFilesColumn(x db.EngineMigration) error { type ProtectedBranch struct { UnprotectedFilePatterns string `xorm:"TEXT"` } diff --git a/models/migrations/v1_16/v195.go b/models/migrations/v1_16/v195.go index 4fd42b7bd2..6b1bc0b4fd 100644 --- a/models/migrations/v1_16/v195.go +++ b/models/migrations/v1_16/v195.go @@ -6,10 +6,10 @@ package v1_16 import ( "fmt" - "xorm.io/xorm" + "code.gitea.io/gitea/models/db" ) -func AddTableCommitStatusIndex(x *xorm.Engine) error { +func AddTableCommitStatusIndex(x db.EngineMigration) error { // CommitStatusIndex represents a table for commit status index type CommitStatusIndex struct { ID int64 diff --git a/models/migrations/v1_16/v196.go b/models/migrations/v1_16/v196.go index 6c9caa100f..64b80aa789 100644 --- a/models/migrations/v1_16/v196.go +++ b/models/migrations/v1_16/v196.go @@ -6,10 +6,10 @@ package v1_16 import ( "fmt" - "xorm.io/xorm" + "code.gitea.io/gitea/models/db" ) -func AddColorColToProjectBoard(x *xorm.Engine) error { +func AddColorColToProjectBoard(x db.EngineMigration) error { type ProjectBoard struct { Color string `xorm:"VARCHAR(7)"` } diff --git a/models/migrations/v1_16/v197.go b/models/migrations/v1_16/v197.go index 862bdfdcbd..81abe84a27 100644 --- a/models/migrations/v1_16/v197.go +++ b/models/migrations/v1_16/v197.go @@ -3,11 +3,9 @@ package v1_16 -import ( - "xorm.io/xorm" -) +import "code.gitea.io/gitea/models/db" -func AddRenamedBranchTable(x *xorm.Engine) error { +func AddRenamedBranchTable(x db.EngineMigration) error { type RenamedBranch struct { ID int64 `xorm:"pk autoincr"` RepoID int64 `xorm:"INDEX NOT NULL"` diff --git a/models/migrations/v1_16/v198.go b/models/migrations/v1_16/v198.go index f35ede138a..c0bc0691a0 100644 --- a/models/migrations/v1_16/v198.go +++ b/models/migrations/v1_16/v198.go @@ -6,12 +6,11 @@ package v1_16 import ( "fmt" + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/modules/timeutil" - - "xorm.io/xorm" ) -func AddTableIssueContentHistory(x *xorm.Engine) error { +func AddTableIssueContentHistory(x db.EngineMigration) error { type IssueContentHistory struct { ID int64 `xorm:"pk autoincr"` PosterID int64 diff --git a/models/migrations/v1_16/v200.go b/models/migrations/v1_16/v200.go index de57fad8fe..5e83711dad 100644 --- a/models/migrations/v1_16/v200.go +++ b/models/migrations/v1_16/v200.go @@ -6,10 +6,10 @@ package v1_16 import ( "fmt" - "xorm.io/xorm" + "code.gitea.io/gitea/models/db" ) -func AddTableAppState(x *xorm.Engine) error { +func AddTableAppState(x db.EngineMigration) error { type AppState struct { ID string `xorm:"pk varchar(200)"` Revision int64 diff --git a/models/migrations/v1_16/v201.go b/models/migrations/v1_16/v201.go index 2c43698b0c..c4708c4dde 100644 --- a/models/migrations/v1_16/v201.go +++ b/models/migrations/v1_16/v201.go @@ -3,11 +3,9 @@ package v1_16 -import ( - "xorm.io/xorm" -) +import "code.gitea.io/gitea/models/db" -func DropTableRemoteVersion(x *xorm.Engine) error { +func DropTableRemoteVersion(x db.EngineMigration) error { // drop the orphaned table introduced in `v199`, now the update checker also uses AppState, do not need this table _ = x.DropTables("remote_version") return nil diff --git a/models/migrations/v1_16/v202.go b/models/migrations/v1_16/v202.go index d8c8fdcadc..2152e58f97 100644 --- a/models/migrations/v1_16/v202.go +++ b/models/migrations/v1_16/v202.go @@ -6,10 +6,10 @@ package v1_16 import ( "fmt" - "xorm.io/xorm" + "code.gitea.io/gitea/models/db" ) -func CreateUserSettingsTable(x *xorm.Engine) error { +func CreateUserSettingsTable(x db.EngineMigration) error { type UserSetting struct { ID int64 `xorm:"pk autoincr"` UserID int64 `xorm:"index unique(key_userid)"` // to load all of someone's settings diff --git a/models/migrations/v1_16/v203.go b/models/migrations/v1_16/v203.go index c3241cba57..19d7397eb6 100644 --- a/models/migrations/v1_16/v203.go +++ b/models/migrations/v1_16/v203.go @@ -3,11 +3,9 @@ package v1_16 -import ( - "xorm.io/xorm" -) +import "code.gitea.io/gitea/models/db" -func AddProjectIssueSorting(x *xorm.Engine) error { +func AddProjectIssueSorting(x db.EngineMigration) error { // ProjectIssue saves relation from issue to a project type ProjectIssue struct { Sorting int64 `xorm:"NOT NULL DEFAULT 0"` diff --git a/models/migrations/v1_16/v204.go b/models/migrations/v1_16/v204.go index 4d375307e7..c0bfe9e7fb 100644 --- a/models/migrations/v1_16/v204.go +++ b/models/migrations/v1_16/v204.go @@ -3,9 +3,9 @@ package v1_16 -import "xorm.io/xorm" +import "code.gitea.io/gitea/models/db" -func AddSSHKeyIsVerified(x *xorm.Engine) error { +func AddSSHKeyIsVerified(x db.EngineMigration) error { type PublicKey struct { Verified bool `xorm:"NOT NULL DEFAULT false"` } diff --git a/models/migrations/v1_16/v205.go b/models/migrations/v1_16/v205.go index 78241bad5b..3e1b393b70 100644 --- a/models/migrations/v1_16/v205.go +++ b/models/migrations/v1_16/v205.go @@ -4,13 +4,13 @@ package v1_16 import ( + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/models/migrations/base" - "xorm.io/xorm" "xorm.io/xorm/schemas" ) -func MigrateUserPasswordSalt(x *xorm.Engine) error { +func MigrateUserPasswordSalt(x db.EngineMigration) error { dbType := x.Dialect().URI().DBType // For SQLITE, the max length doesn't matter. if dbType == schemas.SQLITE { diff --git a/models/migrations/v1_16/v206.go b/models/migrations/v1_16/v206.go index 01a9c386eb..b883b137be 100644 --- a/models/migrations/v1_16/v206.go +++ b/models/migrations/v1_16/v206.go @@ -6,10 +6,10 @@ package v1_16 import ( "fmt" - "xorm.io/xorm" + "code.gitea.io/gitea/models/db" ) -func AddAuthorizeColForTeamUnit(x *xorm.Engine) error { +func AddAuthorizeColForTeamUnit(x db.EngineMigration) error { type TeamUnit struct { ID int64 `xorm:"pk autoincr"` OrgID int64 `xorm:"INDEX"` diff --git a/models/migrations/v1_16/v207.go b/models/migrations/v1_16/v207.go index 19126ead1f..9608e1103e 100644 --- a/models/migrations/v1_16/v207.go +++ b/models/migrations/v1_16/v207.go @@ -3,11 +3,9 @@ package v1_16 -import ( - "xorm.io/xorm" -) +import "code.gitea.io/gitea/models/db" -func AddWebAuthnCred(x *xorm.Engine) error { +func AddWebAuthnCred(x db.EngineMigration) error { // NO-OP Don't migrate here - let v210 do this. return nil diff --git a/models/migrations/v1_16/v208.go b/models/migrations/v1_16/v208.go index fb643324f4..534de313fc 100644 --- a/models/migrations/v1_16/v208.go +++ b/models/migrations/v1_16/v208.go @@ -3,11 +3,9 @@ package v1_16 -import ( - "xorm.io/xorm" -) +import "code.gitea.io/gitea/models/db" -func UseBase32HexForCredIDInWebAuthnCredential(x *xorm.Engine) error { +func UseBase32HexForCredIDInWebAuthnCredential(x db.EngineMigration) error { // noop return nil } diff --git a/models/migrations/v1_16/v209.go b/models/migrations/v1_16/v209.go index 230838647b..c96415142f 100644 --- a/models/migrations/v1_16/v209.go +++ b/models/migrations/v1_16/v209.go @@ -3,11 +3,9 @@ package v1_16 -import ( - "xorm.io/xorm" -) +import "code.gitea.io/gitea/models/db" -func IncreaseCredentialIDTo410(x *xorm.Engine) error { +func IncreaseCredentialIDTo410(x db.EngineMigration) error { // no-op // v208 was completely wrong // So now we have to no-op again. diff --git a/models/migrations/v1_16/v210.go b/models/migrations/v1_16/v210.go index 0b94baf8e3..bbc3cc8e52 100644 --- a/models/migrations/v1_16/v210.go +++ b/models/migrations/v1_16/v210.go @@ -8,16 +8,16 @@ import ( "fmt" "strings" + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/models/migrations/base" "code.gitea.io/gitea/modules/timeutil" "github.com/tstranex/u2f" - "xorm.io/xorm" "xorm.io/xorm/schemas" ) // v208 migration was completely broken -func RemigrateU2FCredentials(x *xorm.Engine) error { +func RemigrateU2FCredentials(x db.EngineMigration) error { // Create webauthnCredential table type webauthnCredential struct { ID int64 `xorm:"pk autoincr"` diff --git a/models/migrations/v1_17/v211.go b/models/migrations/v1_17/v211.go index 517cf19388..0070ae22c3 100644 --- a/models/migrations/v1_17/v211.go +++ b/models/migrations/v1_17/v211.go @@ -3,10 +3,8 @@ package v1_17 -import ( - "xorm.io/xorm" -) +import "code.gitea.io/gitea/models/db" -func CreateForeignReferenceTable(_ *xorm.Engine) error { +func CreateForeignReferenceTable(_ db.EngineMigration) error { return nil // This table was dropped in v1_19/v237.go } diff --git a/models/migrations/v1_17/v212.go b/models/migrations/v1_17/v212.go index 788792211f..24de310546 100644 --- a/models/migrations/v1_17/v212.go +++ b/models/migrations/v1_17/v212.go @@ -4,12 +4,11 @@ package v1_17 import ( + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/modules/timeutil" - - "xorm.io/xorm" ) -func AddPackageTables(x *xorm.Engine) error { +func AddPackageTables(x db.EngineMigration) error { type Package struct { ID int64 `xorm:"pk autoincr"` OwnerID int64 `xorm:"UNIQUE(s) INDEX NOT NULL"` diff --git a/models/migrations/v1_17/v213.go b/models/migrations/v1_17/v213.go index b2bbdf7279..c988999e6b 100644 --- a/models/migrations/v1_17/v213.go +++ b/models/migrations/v1_17/v213.go @@ -3,11 +3,9 @@ package v1_17 -import ( - "xorm.io/xorm" -) +import "code.gitea.io/gitea/models/db" -func AddAllowMaintainerEdit(x *xorm.Engine) error { +func AddAllowMaintainerEdit(x db.EngineMigration) error { // PullRequest represents relation between pull request and repositories. type PullRequest struct { AllowMaintainerEdit bool `xorm:"NOT NULL DEFAULT false"` diff --git a/models/migrations/v1_17/v214.go b/models/migrations/v1_17/v214.go index 1925324f0f..9576e1a693 100644 --- a/models/migrations/v1_17/v214.go +++ b/models/migrations/v1_17/v214.go @@ -3,11 +3,9 @@ package v1_17 -import ( - "xorm.io/xorm" -) +import "code.gitea.io/gitea/models/db" -func AddAutoMergeTable(x *xorm.Engine) error { +func AddAutoMergeTable(x db.EngineMigration) error { type MergeStyle string type PullAutoMerge struct { ID int64 `xorm:"pk autoincr"` diff --git a/models/migrations/v1_17/v215.go b/models/migrations/v1_17/v215.go index 748539225d..39310d2355 100644 --- a/models/migrations/v1_17/v215.go +++ b/models/migrations/v1_17/v215.go @@ -4,13 +4,12 @@ package v1_17 import ( + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/models/pull" "code.gitea.io/gitea/modules/timeutil" - - "xorm.io/xorm" ) -func AddReviewViewedFiles(x *xorm.Engine) error { +func AddReviewViewedFiles(x db.EngineMigration) error { type ReviewState struct { ID int64 `xorm:"pk autoincr"` UserID int64 `xorm:"NOT NULL UNIQUE(pull_commit_user)"` diff --git a/models/migrations/v1_17/v217.go b/models/migrations/v1_17/v217.go index 04626bcbc5..2a3cb3af78 100644 --- a/models/migrations/v1_17/v217.go +++ b/models/migrations/v1_17/v217.go @@ -4,12 +4,11 @@ package v1_17 import ( + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/modules/setting" - - "xorm.io/xorm" ) -func AlterHookTaskTextFieldsToLongText(x *xorm.Engine) error { +func AlterHookTaskTextFieldsToLongText(x db.EngineMigration) error { sess := x.NewSession() defer sess.Close() if err := sess.Begin(); err != nil { diff --git a/models/migrations/v1_17/v218.go b/models/migrations/v1_17/v218.go index 17d4cd89d4..fbaf1e4f7a 100644 --- a/models/migrations/v1_17/v218.go +++ b/models/migrations/v1_17/v218.go @@ -4,10 +4,10 @@ package v1_17 import ( + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/modules/setting" "code.gitea.io/gitea/modules/timeutil" - "xorm.io/xorm" "xorm.io/xorm/schemas" ) @@ -47,6 +47,6 @@ func (*improveActionTableIndicesAction) TableIndices() []*schemas.Index { return indices } -func ImproveActionTableIndices(x *xorm.Engine) error { +func ImproveActionTableIndices(x db.EngineMigration) error { return x.Sync(&improveActionTableIndicesAction{}) } diff --git a/models/migrations/v1_17/v219.go b/models/migrations/v1_17/v219.go index 6e335cb813..a87a1190a8 100644 --- a/models/migrations/v1_17/v219.go +++ b/models/migrations/v1_17/v219.go @@ -6,13 +6,12 @@ package v1_17 import ( "time" + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/models/repo" "code.gitea.io/gitea/modules/timeutil" - - "xorm.io/xorm" ) -func AddSyncOnCommitColForPushMirror(x *xorm.Engine) error { +func AddSyncOnCommitColForPushMirror(x db.EngineMigration) error { type PushMirror struct { ID int64 `xorm:"pk autoincr"` RepoID int64 `xorm:"INDEX"` diff --git a/models/migrations/v1_17/v220.go b/models/migrations/v1_17/v220.go index 4ac8c58e1e..39e6e1a150 100644 --- a/models/migrations/v1_17/v220.go +++ b/models/migrations/v1_17/v220.go @@ -4,14 +4,14 @@ package v1_17 import ( + "code.gitea.io/gitea/models/db" packages_model "code.gitea.io/gitea/models/packages" container_module "code.gitea.io/gitea/modules/packages/container" - "xorm.io/xorm" "xorm.io/xorm/schemas" ) -func AddContainerRepositoryProperty(x *xorm.Engine) (err error) { +func AddContainerRepositoryProperty(x db.EngineMigration) (err error) { switch x.Dialect().URI().DBType { case schemas.SQLITE: _, err = x.Exec("INSERT INTO package_property (ref_type, ref_id, name, value) SELECT ?, p.id, ?, u.lower_name || '/' || p.lower_name FROM package p JOIN `user` u ON p.owner_id = u.id WHERE p.type = ?", diff --git a/models/migrations/v1_17/v221.go b/models/migrations/v1_17/v221.go index 9e6a67eb18..31c41e17d3 100644 --- a/models/migrations/v1_17/v221.go +++ b/models/migrations/v1_17/v221.go @@ -7,12 +7,11 @@ import ( "encoding/base32" "fmt" + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/modules/timeutil" - - "xorm.io/xorm" ) -func StoreWebauthnCredentialIDAsBytes(x *xorm.Engine) error { +func StoreWebauthnCredentialIDAsBytes(x db.EngineMigration) error { // Create webauthnCredential table type webauthnCredential struct { ID int64 `xorm:"pk autoincr"` diff --git a/models/migrations/v1_17/v222.go b/models/migrations/v1_17/v222.go index a5ea537d8a..4c33dcdffb 100644 --- a/models/migrations/v1_17/v222.go +++ b/models/migrations/v1_17/v222.go @@ -8,13 +8,12 @@ import ( "errors" "fmt" + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/models/migrations/base" "code.gitea.io/gitea/modules/timeutil" - - "xorm.io/xorm" ) -func DropOldCredentialIDColumn(x *xorm.Engine) error { +func DropOldCredentialIDColumn(x db.EngineMigration) error { // This migration maybe rerun so that we should check if it has been run credentialIDExist, err := x.Dialect().IsColumnExist(x.DB(), context.Background(), "webauthn_credential", "credential_id") if err != nil { diff --git a/models/migrations/v1_17/v223.go b/models/migrations/v1_17/v223.go index b2bfb76551..b0eac197bf 100644 --- a/models/migrations/v1_17/v223.go +++ b/models/migrations/v1_17/v223.go @@ -7,14 +7,13 @@ import ( "context" "fmt" + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/models/migrations/base" "code.gitea.io/gitea/modules/setting" "code.gitea.io/gitea/modules/timeutil" - - "xorm.io/xorm" ) -func RenameCredentialIDBytes(x *xorm.Engine) error { +func RenameCredentialIDBytes(x db.EngineMigration) error { // This migration maybe rerun so that we should check if it has been run credentialIDExist, err := x.Dialect().IsColumnExist(x.DB(), context.Background(), "webauthn_credential", "credential_id") if err != nil { diff --git a/models/migrations/v1_18/v224.go b/models/migrations/v1_18/v224.go index 6dc12020ea..4a43528b1a 100644 --- a/models/migrations/v1_18/v224.go +++ b/models/migrations/v1_18/v224.go @@ -3,11 +3,9 @@ package v1_18 -import ( - "xorm.io/xorm" -) +import "code.gitea.io/gitea/models/db" -func CreateUserBadgesTable(x *xorm.Engine) error { +func CreateUserBadgesTable(x db.EngineMigration) error { type Badge struct { ID int64 `xorm:"pk autoincr"` Description string diff --git a/models/migrations/v1_18/v225.go b/models/migrations/v1_18/v225.go index bc6117e38f..fc6ceb91f3 100644 --- a/models/migrations/v1_18/v225.go +++ b/models/migrations/v1_18/v225.go @@ -4,12 +4,11 @@ package v1_18 import ( + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/modules/setting" - - "xorm.io/xorm" ) -func AlterPublicGPGKeyContentFieldsToMediumText(x *xorm.Engine) error { +func AlterPublicGPGKeyContentFieldsToMediumText(x db.EngineMigration) error { sess := x.NewSession() defer sess.Close() if err := sess.Begin(); err != nil { diff --git a/models/migrations/v1_18/v226.go b/models/migrations/v1_18/v226.go index 8ed9761476..69c2bf0751 100644 --- a/models/migrations/v1_18/v226.go +++ b/models/migrations/v1_18/v226.go @@ -4,11 +4,12 @@ package v1_18 import ( + "code.gitea.io/gitea/models/db" + "xorm.io/builder" - "xorm.io/xorm" ) -func FixPackageSemverField(x *xorm.Engine) error { +func FixPackageSemverField(x db.EngineMigration) error { _, err := x.Exec(builder.Update(builder.Eq{"semver_compatible": false}).From("`package`").Where(builder.In("`type`", "conan", "generic"))) return err } diff --git a/models/migrations/v1_18/v227.go b/models/migrations/v1_18/v227.go index 3aca686d59..c47727cb5e 100644 --- a/models/migrations/v1_18/v227.go +++ b/models/migrations/v1_18/v227.go @@ -4,9 +4,8 @@ package v1_18 import ( + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/modules/timeutil" - - "xorm.io/xorm" ) type SystemSetting struct { @@ -18,6 +17,6 @@ type SystemSetting struct { Updated timeutil.TimeStamp `xorm:"updated"` } -func CreateSystemSettingsTable(x *xorm.Engine) error { +func CreateSystemSettingsTable(x db.EngineMigration) error { return x.Sync(new(SystemSetting)) } diff --git a/models/migrations/v1_18/v228.go b/models/migrations/v1_18/v228.go index b13f6461bd..e5c1041480 100644 --- a/models/migrations/v1_18/v228.go +++ b/models/migrations/v1_18/v228.go @@ -4,12 +4,11 @@ package v1_18 import ( + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/modules/timeutil" - - "xorm.io/xorm" ) -func AddTeamInviteTable(x *xorm.Engine) error { +func AddTeamInviteTable(x db.EngineMigration) error { type TeamInvite struct { ID int64 `xorm:"pk autoincr"` Token string `xorm:"UNIQUE(token) INDEX NOT NULL DEFAULT ''"` diff --git a/models/migrations/v1_18/v229.go b/models/migrations/v1_18/v229.go index 1f69724365..fe8798aa6d 100644 --- a/models/migrations/v1_18/v229.go +++ b/models/migrations/v1_18/v229.go @@ -6,13 +6,13 @@ package v1_18 import ( "fmt" + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/models/issues" "xorm.io/builder" - "xorm.io/xorm" ) -func UpdateOpenMilestoneCounts(x *xorm.Engine) error { +func UpdateOpenMilestoneCounts(x db.EngineMigration) error { var openMilestoneIDs []int64 err := x.Table("milestone").Select("id").Where(builder.Neq{"is_closed": 1}).Find(&openMilestoneIDs) if err != nil { diff --git a/models/migrations/v1_18/v230.go b/models/migrations/v1_18/v230.go index 078fce7643..2a890e7a75 100644 --- a/models/migrations/v1_18/v230.go +++ b/models/migrations/v1_18/v230.go @@ -3,12 +3,10 @@ package v1_18 -import ( - "xorm.io/xorm" -) +import "code.gitea.io/gitea/models/db" // AddConfidentialColumnToOAuth2ApplicationTable: add ConfidentialClient column, setting existing rows to true -func AddConfidentialClientColumnToOAuth2ApplicationTable(x *xorm.Engine) error { +func AddConfidentialClientColumnToOAuth2ApplicationTable(x db.EngineMigration) error { type oauth2Application struct { ID int64 ConfidentialClient bool `xorm:"NOT NULL DEFAULT TRUE"` diff --git a/models/migrations/v1_19/v231.go b/models/migrations/v1_19/v231.go index 8ef1e4e743..980a23d82c 100644 --- a/models/migrations/v1_19/v231.go +++ b/models/migrations/v1_19/v231.go @@ -3,11 +3,9 @@ package v1_19 -import ( - "xorm.io/xorm" -) +import "code.gitea.io/gitea/models/db" -func AddIndexForHookTask(x *xorm.Engine) error { +func AddIndexForHookTask(x db.EngineMigration) error { type HookTask struct { ID int64 `xorm:"pk autoincr"` HookID int64 `xorm:"index"` diff --git a/models/migrations/v1_19/v232.go b/models/migrations/v1_19/v232.go index 493dbc6df8..d39b1527d9 100644 --- a/models/migrations/v1_19/v232.go +++ b/models/migrations/v1_19/v232.go @@ -4,12 +4,11 @@ package v1_19 import ( + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/modules/setting" - - "xorm.io/xorm" ) -func AlterPackageVersionMetadataToLongText(x *xorm.Engine) error { +func AlterPackageVersionMetadataToLongText(x db.EngineMigration) error { sess := x.NewSession() defer sess.Close() if err := sess.Begin(); err != nil { diff --git a/models/migrations/v1_19/v233.go b/models/migrations/v1_19/v233.go index 44ced874b3..576dfbe04d 100644 --- a/models/migrations/v1_19/v233.go +++ b/models/migrations/v1_19/v233.go @@ -6,15 +6,15 @@ package v1_19 import ( "fmt" + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/modules/json" "code.gitea.io/gitea/modules/secret" "code.gitea.io/gitea/modules/setting" "xorm.io/builder" - "xorm.io/xorm" ) -func batchProcess[T any](x *xorm.Engine, buf []T, query func(limit, start int) *xorm.Session, process func(*xorm.Session, T) error) error { +func batchProcess[T any](x db.EngineMigration, buf []T, query func(limit, start int) db.Session, process func(db.Session, T) error) error { size := cap(buf) start := 0 for { @@ -51,7 +51,7 @@ func batchProcess[T any](x *xorm.Engine, buf []T, query func(limit, start int) * } } -func AddHeaderAuthorizationEncryptedColWebhook(x *xorm.Engine) error { +func AddHeaderAuthorizationEncryptedColWebhook(x db.EngineMigration) error { // Add the column to the table type Webhook struct { ID int64 `xorm:"pk autoincr"` @@ -80,10 +80,10 @@ func AddHeaderAuthorizationEncryptedColWebhook(x *xorm.Engine) error { err = batchProcess(x, make([]*Webhook, 0, 50), - func(limit, start int) *xorm.Session { + func(limit, start int) db.Session { return x.Where("type=?", "matrix").OrderBy("id").Limit(limit, start) }, - func(sess *xorm.Session, hook *Webhook) error { + func(sess db.Session, hook *Webhook) error { // retrieve token from meta var withToken MatrixMetaWithAccessToken err := json.Unmarshal([]byte(hook.Meta), &withToken) @@ -141,13 +141,13 @@ func AddHeaderAuthorizationEncryptedColWebhook(x *xorm.Engine) error { err = batchProcess(x, make([]*HookTask, 0, 50), - func(limit, start int) *xorm.Session { + func(limit, start int) db.Session { return x.Where(builder.And( builder.In("hook_id", builder.Select("id").From("webhook").Where(builder.Eq{"type": "matrix"})), builder.Like{"payload_content", "access_token"}, )).OrderBy("id").Limit(limit, 0) // ignore the provided "start", since other payload were already converted and don't contain 'payload_content' anymore }, - func(sess *xorm.Session, hookTask *HookTask) error { + func(sess db.Session, hookTask *HookTask) error { // retrieve token from payload_content var withToken MatrixPayloadUnsafe err := json.Unmarshal([]byte(hookTask.PayloadContent), &withToken) diff --git a/models/migrations/v1_19/v234.go b/models/migrations/v1_19/v234.go index 3475384d6f..45b1acd537 100644 --- a/models/migrations/v1_19/v234.go +++ b/models/migrations/v1_19/v234.go @@ -4,12 +4,11 @@ package v1_19 import ( + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/modules/timeutil" - - "xorm.io/xorm" ) -func CreatePackageCleanupRuleTable(x *xorm.Engine) error { +func CreatePackageCleanupRuleTable(x db.EngineMigration) error { type PackageCleanupRule struct { ID int64 `xorm:"pk autoincr"` Enabled bool `xorm:"INDEX NOT NULL DEFAULT false"` diff --git a/models/migrations/v1_19/v235.go b/models/migrations/v1_19/v235.go index 297d90f65a..e867c79453 100644 --- a/models/migrations/v1_19/v235.go +++ b/models/migrations/v1_19/v235.go @@ -3,11 +3,9 @@ package v1_19 -import ( - "xorm.io/xorm" -) +import "code.gitea.io/gitea/models/db" -func AddIndexForAccessToken(x *xorm.Engine) error { +func AddIndexForAccessToken(x db.EngineMigration) error { type AccessToken struct { TokenLastEight string `xorm:"INDEX token_last_eight"` } diff --git a/models/migrations/v1_19/v236.go b/models/migrations/v1_19/v236.go index 0ed4d97a27..5e0a8a7b41 100644 --- a/models/migrations/v1_19/v236.go +++ b/models/migrations/v1_19/v236.go @@ -4,12 +4,11 @@ package v1_19 import ( + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/modules/timeutil" - - "xorm.io/xorm" ) -func CreateSecretsTable(x *xorm.Engine) error { +func CreateSecretsTable(x db.EngineMigration) error { type Secret struct { ID int64 OwnerID int64 `xorm:"INDEX UNIQUE(owner_repo_name) NOT NULL"` diff --git a/models/migrations/v1_19/v237.go b/models/migrations/v1_19/v237.go index cf30226ccd..c763206044 100644 --- a/models/migrations/v1_19/v237.go +++ b/models/migrations/v1_19/v237.go @@ -3,11 +3,9 @@ package v1_19 -import ( - "xorm.io/xorm" -) +import "code.gitea.io/gitea/models/db" -func DropForeignReferenceTable(x *xorm.Engine) error { +func DropForeignReferenceTable(x db.EngineMigration) error { // Drop the table introduced in `v211`, it's considered badly designed and doesn't look like to be used. // See: https://github.com/go-gitea/gitea/issues/21086#issuecomment-1318217453 type ForeignReference struct{} diff --git a/models/migrations/v1_19/v238.go b/models/migrations/v1_19/v238.go index de681bfc7a..2566492fcd 100644 --- a/models/migrations/v1_19/v238.go +++ b/models/migrations/v1_19/v238.go @@ -4,13 +4,12 @@ package v1_19 import ( + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/modules/timeutil" - - "xorm.io/xorm" ) // AddUpdatedUnixToLFSMetaObject adds an updated column to the LFSMetaObject to allow for garbage collection -func AddUpdatedUnixToLFSMetaObject(x *xorm.Engine) error { +func AddUpdatedUnixToLFSMetaObject(x db.EngineMigration) error { // Drop the table introduced in `v211`, it's considered badly designed and doesn't look like to be used. // See: https://github.com/go-gitea/gitea/issues/21086#issuecomment-1318217453 // LFSMetaObject stores metadata for LFS tracked files. diff --git a/models/migrations/v1_19/v239.go b/models/migrations/v1_19/v239.go index 8f4a65be95..3d3f0ac072 100644 --- a/models/migrations/v1_19/v239.go +++ b/models/migrations/v1_19/v239.go @@ -3,11 +3,9 @@ package v1_19 -import ( - "xorm.io/xorm" -) +import "code.gitea.io/gitea/models/db" -func AddScopeForAccessTokens(x *xorm.Engine) error { +func AddScopeForAccessTokens(x db.EngineMigration) error { type AccessToken struct { Scope string } diff --git a/models/migrations/v1_19/v240.go b/models/migrations/v1_19/v240.go index 7fdbaeb9dc..01a17b3476 100644 --- a/models/migrations/v1_19/v240.go +++ b/models/migrations/v1_19/v240.go @@ -6,11 +6,9 @@ package v1_19 import ( "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/modules/timeutil" - - "xorm.io/xorm" ) -func AddActionsTables(x *xorm.Engine) error { +func AddActionsTables(x db.EngineMigration) error { type ActionRunner struct { ID int64 UUID string `xorm:"CHAR(36) UNIQUE"` diff --git a/models/migrations/v1_19/v241.go b/models/migrations/v1_19/v241.go index e35801a057..582993e81e 100644 --- a/models/migrations/v1_19/v241.go +++ b/models/migrations/v1_19/v241.go @@ -3,12 +3,10 @@ package v1_19 -import ( - "xorm.io/xorm" -) +import "code.gitea.io/gitea/models/db" // AddCardTypeToProjectTable: add CardType column, setting existing rows to CardTypeTextOnly -func AddCardTypeToProjectTable(x *xorm.Engine) error { +func AddCardTypeToProjectTable(x db.EngineMigration) error { type Project struct { CardType int `xorm:"NOT NULL DEFAULT 0"` } diff --git a/models/migrations/v1_19/v242.go b/models/migrations/v1_19/v242.go index e9e759eaaa..9922eadce8 100644 --- a/models/migrations/v1_19/v242.go +++ b/models/migrations/v1_19/v242.go @@ -4,13 +4,12 @@ package v1_19 import ( + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/modules/setting" - - "xorm.io/xorm" ) // AlterPublicGPGKeyImportContentFieldToMediumText: set GPGKeyImport Content field to MEDIUMTEXT -func AlterPublicGPGKeyImportContentFieldToMediumText(x *xorm.Engine) error { +func AlterPublicGPGKeyImportContentFieldToMediumText(x db.EngineMigration) error { sess := x.NewSession() defer sess.Close() if err := sess.Begin(); err != nil { diff --git a/models/migrations/v1_19/v243.go b/models/migrations/v1_19/v243.go index 9c3f372594..99f7e97608 100644 --- a/models/migrations/v1_19/v243.go +++ b/models/migrations/v1_19/v243.go @@ -3,11 +3,9 @@ package v1_19 -import ( - "xorm.io/xorm" -) +import "code.gitea.io/gitea/models/db" -func AddExclusiveLabel(x *xorm.Engine) error { +func AddExclusiveLabel(x db.EngineMigration) error { type Label struct { Exclusive bool } diff --git a/models/migrations/v1_20/v244.go b/models/migrations/v1_20/v244.go index 76cdccaca5..e90c411938 100644 --- a/models/migrations/v1_20/v244.go +++ b/models/migrations/v1_20/v244.go @@ -3,11 +3,9 @@ package v1_20 -import ( - "xorm.io/xorm" -) +import "code.gitea.io/gitea/models/db" -func AddNeedApprovalToActionRun(x *xorm.Engine) error { +func AddNeedApprovalToActionRun(x db.EngineMigration) error { /* New index: TriggerUserID New fields: NeedApproval, ApprovedBy diff --git a/models/migrations/v1_20/v245.go b/models/migrations/v1_20/v245.go index 4acb11416c..213038316a 100644 --- a/models/migrations/v1_20/v245.go +++ b/models/migrations/v1_20/v245.go @@ -6,13 +6,12 @@ package v1_20 import ( "context" + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/models/migrations/base" "code.gitea.io/gitea/modules/setting" - - "xorm.io/xorm" ) -func RenameWebhookOrgToOwner(x *xorm.Engine) error { +func RenameWebhookOrgToOwner(x db.EngineMigration) error { type Webhook struct { OrgID int64 `xorm:"INDEX"` } diff --git a/models/migrations/v1_20/v246.go b/models/migrations/v1_20/v246.go index 22bf723404..a8f88ac04c 100644 --- a/models/migrations/v1_20/v246.go +++ b/models/migrations/v1_20/v246.go @@ -3,11 +3,9 @@ package v1_20 -import ( - "xorm.io/xorm" -) +import "code.gitea.io/gitea/models/db" -func AddNewColumnForProject(x *xorm.Engine) error { +func AddNewColumnForProject(x db.EngineMigration) error { type Project struct { OwnerID int64 `xorm:"INDEX"` } diff --git a/models/migrations/v1_20/v247.go b/models/migrations/v1_20/v247.go index 4f82937e18..f8402b405c 100644 --- a/models/migrations/v1_20/v247.go +++ b/models/migrations/v1_20/v247.go @@ -4,13 +4,12 @@ package v1_20 import ( + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/modules/log" - - "xorm.io/xorm" ) // FixIncorrectProjectType: set individual project's type from 3(TypeOrganization) to 1(TypeIndividual) -func FixIncorrectProjectType(x *xorm.Engine) error { +func FixIncorrectProjectType(x db.EngineMigration) error { type User struct { ID int64 `xorm:"pk autoincr"` Type int diff --git a/models/migrations/v1_20/v248.go b/models/migrations/v1_20/v248.go index 4f2091e4bc..5b76b5fb55 100644 --- a/models/migrations/v1_20/v248.go +++ b/models/migrations/v1_20/v248.go @@ -3,9 +3,9 @@ package v1_20 -import "xorm.io/xorm" +import "code.gitea.io/gitea/models/db" -func AddVersionToActionRunner(x *xorm.Engine) error { +func AddVersionToActionRunner(x db.EngineMigration) error { type ActionRunner struct { Version string `xorm:"VARCHAR(64)"` // the version of act_runner } diff --git a/models/migrations/v1_20/v249.go b/models/migrations/v1_20/v249.go index c6d3a177ca..53bd2c40c9 100644 --- a/models/migrations/v1_20/v249.go +++ b/models/migrations/v1_20/v249.go @@ -4,9 +4,9 @@ package v1_20 import ( + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/modules/timeutil" - "xorm.io/xorm" "xorm.io/xorm/schemas" ) @@ -40,6 +40,6 @@ func (a *Action) TableIndices() []*schemas.Index { return indices } -func ImproveActionTableIndices(x *xorm.Engine) error { +func ImproveActionTableIndices(x db.EngineMigration) error { return x.Sync(new(Action)) } diff --git a/models/migrations/v1_20/v250.go b/models/migrations/v1_20/v250.go index ec45e6e5c3..b011c5b051 100644 --- a/models/migrations/v1_20/v250.go +++ b/models/migrations/v1_20/v250.go @@ -6,12 +6,11 @@ package v1_20 import ( "strings" + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/modules/json" - - "xorm.io/xorm" ) -func ChangeContainerMetadataMultiArch(x *xorm.Engine) error { +func ChangeContainerMetadataMultiArch(x db.EngineMigration) error { sess := x.NewSession() defer sess.Close() diff --git a/models/migrations/v1_20/v251.go b/models/migrations/v1_20/v251.go index a274c22a73..98676a572f 100644 --- a/models/migrations/v1_20/v251.go +++ b/models/migrations/v1_20/v251.go @@ -4,12 +4,11 @@ package v1_20 import ( + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/modules/log" - - "xorm.io/xorm" ) -func FixIncorrectOwnerTeamUnitAccessMode(x *xorm.Engine) error { +func FixIncorrectOwnerTeamUnitAccessMode(x db.EngineMigration) error { type UnitType int type AccessMode int diff --git a/models/migrations/v1_20/v252.go b/models/migrations/v1_20/v252.go index d6aa602753..2c86663b91 100644 --- a/models/migrations/v1_20/v252.go +++ b/models/migrations/v1_20/v252.go @@ -4,12 +4,11 @@ package v1_20 import ( + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/modules/log" - - "xorm.io/xorm" ) -func FixIncorrectAdminTeamUnitAccessMode(x *xorm.Engine) error { +func FixIncorrectAdminTeamUnitAccessMode(x db.EngineMigration) error { type UnitType int type AccessMode int diff --git a/models/migrations/v1_20/v253.go b/models/migrations/v1_20/v253.go index c96454dbf9..74d8c69333 100644 --- a/models/migrations/v1_20/v253.go +++ b/models/migrations/v1_20/v253.go @@ -4,12 +4,11 @@ package v1_20 import ( + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/modules/log" - - "xorm.io/xorm" ) -func FixExternalTrackerAndExternalWikiAccessModeInOwnerAndAdminTeam(x *xorm.Engine) error { +func FixExternalTrackerAndExternalWikiAccessModeInOwnerAndAdminTeam(x db.EngineMigration) error { type UnitType int type AccessMode int diff --git a/models/migrations/v1_20/v254.go b/models/migrations/v1_20/v254.go index 9cdbfb3916..912ad36b4a 100644 --- a/models/migrations/v1_20/v254.go +++ b/models/migrations/v1_20/v254.go @@ -3,11 +3,9 @@ package v1_20 -import ( - "xorm.io/xorm" -) +import "code.gitea.io/gitea/models/db" -func AddActionTaskOutputTable(x *xorm.Engine) error { +func AddActionTaskOutputTable(x db.EngineMigration) error { type ActionTaskOutput struct { ID int64 TaskID int64 `xorm:"INDEX UNIQUE(task_id_output_key)"` diff --git a/models/migrations/v1_20/v255.go b/models/migrations/v1_20/v255.go index caf198700e..3ec64d43c4 100644 --- a/models/migrations/v1_20/v255.go +++ b/models/migrations/v1_20/v255.go @@ -4,12 +4,11 @@ package v1_20 import ( + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/modules/timeutil" - - "xorm.io/xorm" ) -func AddArchivedUnixToRepository(x *xorm.Engine) error { +func AddArchivedUnixToRepository(x db.EngineMigration) error { type Repository struct { ArchivedUnix timeutil.TimeStamp `xorm:"DEFAULT 0"` } diff --git a/models/migrations/v1_20/v256.go b/models/migrations/v1_20/v256.go index 7b84c1e154..126b1e6f19 100644 --- a/models/migrations/v1_20/v256.go +++ b/models/migrations/v1_20/v256.go @@ -3,11 +3,9 @@ package v1_20 -import ( - "xorm.io/xorm" -) +import "code.gitea.io/gitea/models/db" -func AddIsInternalColumnToPackage(x *xorm.Engine) error { +func AddIsInternalColumnToPackage(x db.EngineMigration) error { type Package struct { ID int64 `xorm:"pk autoincr"` OwnerID int64 `xorm:"UNIQUE(s) INDEX NOT NULL"` diff --git a/models/migrations/v1_20/v257.go b/models/migrations/v1_20/v257.go index 9d5f7c07df..6e47d1387a 100644 --- a/models/migrations/v1_20/v257.go +++ b/models/migrations/v1_20/v257.go @@ -4,12 +4,11 @@ package v1_20 import ( + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/modules/timeutil" - - "xorm.io/xorm" ) -func CreateActionArtifactTable(x *xorm.Engine) error { +func CreateActionArtifactTable(x db.EngineMigration) error { // ActionArtifact is a file that is stored in the artifact storage. type ActionArtifact struct { ID int64 `xorm:"pk autoincr"` diff --git a/models/migrations/v1_20/v258.go b/models/migrations/v1_20/v258.go index 1d3faffdae..4d0ec565cf 100644 --- a/models/migrations/v1_20/v258.go +++ b/models/migrations/v1_20/v258.go @@ -3,11 +3,9 @@ package v1_20 -import ( - "xorm.io/xorm" -) +import "code.gitea.io/gitea/models/db" -func AddPinOrderToIssue(x *xorm.Engine) error { +func AddPinOrderToIssue(x db.EngineMigration) error { type Issue struct { PinOrder int `xorm:"DEFAULT 0"` } diff --git a/models/migrations/v1_20/v259.go b/models/migrations/v1_20/v259.go index 9e0dc9b61d..e356e97582 100644 --- a/models/migrations/v1_20/v259.go +++ b/models/migrations/v1_20/v259.go @@ -7,9 +7,8 @@ import ( "fmt" "strings" + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/modules/log" - - "xorm.io/xorm" ) // unknownAccessTokenScope represents the scope for an access token that isn't @@ -319,7 +318,7 @@ type AccessToken struct { Scope string } -func ConvertScopedAccessTokens(x *xorm.Engine) error { +func ConvertScopedAccessTokens(x db.EngineMigration) error { var tokens []*AccessToken if err := x.Find(&tokens); err != nil { diff --git a/models/migrations/v1_21/v260.go b/models/migrations/v1_21/v260.go index 8540c58ae8..a146ee68f9 100644 --- a/models/migrations/v1_21/v260.go +++ b/models/migrations/v1_21/v260.go @@ -4,12 +4,11 @@ package v1_21 import ( + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/models/migrations/base" - - "xorm.io/xorm" ) -func DropCustomLabelsColumnOfActionRunner(x *xorm.Engine) error { +func DropCustomLabelsColumnOfActionRunner(x db.EngineMigration) error { sess := x.NewSession() defer sess.Close() diff --git a/models/migrations/v1_21/v261.go b/models/migrations/v1_21/v261.go index 122b98eb93..54026cf2f6 100644 --- a/models/migrations/v1_21/v261.go +++ b/models/migrations/v1_21/v261.go @@ -4,12 +4,11 @@ package v1_21 import ( + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/modules/timeutil" - - "xorm.io/xorm" ) -func CreateVariableTable(x *xorm.Engine) error { +func CreateVariableTable(x db.EngineMigration) error { type ActionVariable struct { ID int64 `xorm:"pk autoincr"` OwnerID int64 `xorm:"UNIQUE(owner_repo_name)"` diff --git a/models/migrations/v1_21/v262.go b/models/migrations/v1_21/v262.go index 6e88e29b9d..aea7dadce7 100644 --- a/models/migrations/v1_21/v262.go +++ b/models/migrations/v1_21/v262.go @@ -3,11 +3,9 @@ package v1_21 -import ( - "xorm.io/xorm" -) +import "code.gitea.io/gitea/models/db" -func AddTriggerEventToActionRun(x *xorm.Engine) error { +func AddTriggerEventToActionRun(x db.EngineMigration) error { type ActionRun struct { TriggerEvent string } diff --git a/models/migrations/v1_21/v263.go b/models/migrations/v1_21/v263.go index 55c418bde0..5b57c3cfb2 100644 --- a/models/migrations/v1_21/v263.go +++ b/models/migrations/v1_21/v263.go @@ -6,11 +6,11 @@ package v1_21 import ( "fmt" - "xorm.io/xorm" + "code.gitea.io/gitea/models/db" ) // AddGitSizeAndLFSSizeToRepositoryTable: add GitSize and LFSSize columns to Repository -func AddGitSizeAndLFSSizeToRepositoryTable(x *xorm.Engine) error { +func AddGitSizeAndLFSSizeToRepositoryTable(x db.EngineMigration) error { type Repository struct { GitSize int64 `xorm:"NOT NULL DEFAULT 0"` LFSSize int64 `xorm:"NOT NULL DEFAULT 0"` diff --git a/models/migrations/v1_21/v264.go b/models/migrations/v1_21/v264.go index 7fc0ec6024..4c64c3f686 100644 --- a/models/migrations/v1_21/v264.go +++ b/models/migrations/v1_21/v264.go @@ -9,11 +9,9 @@ import ( "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/modules/timeutil" - - "xorm.io/xorm" ) -func AddBranchTable(x *xorm.Engine) error { +func AddBranchTable(x db.EngineMigration) error { type Branch struct { ID int64 RepoID int64 `xorm:"UNIQUE(s)"` diff --git a/models/migrations/v1_21/v265.go b/models/migrations/v1_21/v265.go index b6892acc27..8c58989c47 100644 --- a/models/migrations/v1_21/v265.go +++ b/models/migrations/v1_21/v265.go @@ -3,11 +3,9 @@ package v1_21 -import ( - "xorm.io/xorm" -) +import "code.gitea.io/gitea/models/db" -func AlterActionArtifactTable(x *xorm.Engine) error { +func AlterActionArtifactTable(x db.EngineMigration) error { // ActionArtifact is a file that is stored in the artifact storage. type ActionArtifact struct { RunID int64 `xorm:"index unique(runid_name_path)"` // The run id of the artifact diff --git a/models/migrations/v1_21/v266.go b/models/migrations/v1_21/v266.go index 440549e868..c9d8a2d099 100644 --- a/models/migrations/v1_21/v266.go +++ b/models/migrations/v1_21/v266.go @@ -3,11 +3,9 @@ package v1_21 -import ( - "xorm.io/xorm" -) +import "code.gitea.io/gitea/models/db" -func ReduceCommitStatus(x *xorm.Engine) error { +func ReduceCommitStatus(x db.EngineMigration) error { sess := x.NewSession() defer sess.Close() diff --git a/models/migrations/v1_21/v267.go b/models/migrations/v1_21/v267.go index 394139a17e..62eff40c1d 100644 --- a/models/migrations/v1_21/v267.go +++ b/models/migrations/v1_21/v267.go @@ -4,12 +4,11 @@ package v1_21 import ( + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/modules/timeutil" - - "xorm.io/xorm" ) -func CreateActionTasksVersionTable(x *xorm.Engine) error { +func CreateActionTasksVersionTable(x db.EngineMigration) error { type ActionTasksVersion struct { ID int64 `xorm:"pk autoincr"` OwnerID int64 `xorm:"UNIQUE(owner_repo)"` diff --git a/models/migrations/v1_21/v268.go b/models/migrations/v1_21/v268.go index b677d2383e..c3809c125f 100644 --- a/models/migrations/v1_21/v268.go +++ b/models/migrations/v1_21/v268.go @@ -3,12 +3,10 @@ package v1_21 -import ( - "xorm.io/xorm" -) +import "code.gitea.io/gitea/models/db" // UpdateActionsRefIndex updates the index of actions ref field -func UpdateActionsRefIndex(x *xorm.Engine) error { +func UpdateActionsRefIndex(x db.EngineMigration) error { type ActionRun struct { Ref string `xorm:"index"` // the commit/tag/… causing the run } diff --git a/models/migrations/v1_21/v269.go b/models/migrations/v1_21/v269.go index 042040927d..6d4fd2f775 100644 --- a/models/migrations/v1_21/v269.go +++ b/models/migrations/v1_21/v269.go @@ -3,10 +3,8 @@ package v1_21 -import ( - "xorm.io/xorm" -) +import "code.gitea.io/gitea/models/db" -func DropDeletedBranchTable(x *xorm.Engine) error { +func DropDeletedBranchTable(x db.EngineMigration) error { return x.DropTables("deleted_branch") } diff --git a/models/migrations/v1_21/v270.go b/models/migrations/v1_21/v270.go index ab7c5660ba..dec8a263f5 100644 --- a/models/migrations/v1_21/v270.go +++ b/models/migrations/v1_21/v270.go @@ -3,11 +3,9 @@ package v1_21 -import ( - "xorm.io/xorm" -) +import "code.gitea.io/gitea/models/db" -func FixPackagePropertyTypo(x *xorm.Engine) error { +func FixPackagePropertyTypo(x db.EngineMigration) error { sess := x.NewSession() defer sess.Close() diff --git a/models/migrations/v1_21/v271.go b/models/migrations/v1_21/v271.go index 05e1af1351..06db190e1a 100644 --- a/models/migrations/v1_21/v271.go +++ b/models/migrations/v1_21/v271.go @@ -4,12 +4,11 @@ package v1_21 import ( + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/modules/timeutil" - - "xorm.io/xorm" ) -func AddArchivedUnixColumInLabelTable(x *xorm.Engine) error { +func AddArchivedUnixColumInLabelTable(x db.EngineMigration) error { type Label struct { ArchivedUnix timeutil.TimeStamp `xorm:"DEFAULT NULL"` } diff --git a/models/migrations/v1_21/v272.go b/models/migrations/v1_21/v272.go index 14c1e0c4b0..b9ac2c9132 100644 --- a/models/migrations/v1_21/v272.go +++ b/models/migrations/v1_21/v272.go @@ -3,11 +3,9 @@ package v1_21 -import ( - "xorm.io/xorm" -) +import "code.gitea.io/gitea/models/db" -func AddVersionToActionRunTable(x *xorm.Engine) error { +func AddVersionToActionRunTable(x db.EngineMigration) error { type ActionRun struct { Version int `xorm:"version default 0"` } diff --git a/models/migrations/v1_21/v273.go b/models/migrations/v1_21/v273.go index e614a56a7d..a647a85b09 100644 --- a/models/migrations/v1_21/v273.go +++ b/models/migrations/v1_21/v273.go @@ -4,12 +4,11 @@ package v1_21 import ( + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/modules/timeutil" - - "xorm.io/xorm" ) -func AddActionScheduleTable(x *xorm.Engine) error { +func AddActionScheduleTable(x db.EngineMigration) error { type ActionSchedule struct { ID int64 Title string diff --git a/models/migrations/v1_21/v274.go b/models/migrations/v1_21/v274.go index d0b557a151..e10ef7adbc 100644 --- a/models/migrations/v1_21/v274.go +++ b/models/migrations/v1_21/v274.go @@ -6,12 +6,11 @@ package v1_21 import ( "time" + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/modules/timeutil" - - "xorm.io/xorm" ) -func AddExpiredUnixColumnInActionArtifactTable(x *xorm.Engine) error { +func AddExpiredUnixColumnInActionArtifactTable(x db.EngineMigration) error { type ActionArtifact struct { ExpiredUnix timeutil.TimeStamp `xorm:"index"` // time when the artifact will be expired } @@ -21,7 +20,7 @@ func AddExpiredUnixColumnInActionArtifactTable(x *xorm.Engine) error { return updateArtifactsExpiredUnixTo90Days(x) } -func updateArtifactsExpiredUnixTo90Days(x *xorm.Engine) error { +func updateArtifactsExpiredUnixTo90Days(x db.EngineMigration) error { sess := x.NewSession() defer sess.Close() diff --git a/models/migrations/v1_21/v275.go b/models/migrations/v1_21/v275.go index 2bfe5c72fa..7e435f902d 100644 --- a/models/migrations/v1_21/v275.go +++ b/models/migrations/v1_21/v275.go @@ -3,11 +3,9 @@ package v1_21 -import ( - "xorm.io/xorm" -) +import "code.gitea.io/gitea/models/db" -func AddScheduleIDForActionRun(x *xorm.Engine) error { +func AddScheduleIDForActionRun(x db.EngineMigration) error { type ActionRun struct { ScheduleID int64 } diff --git a/models/migrations/v1_21/v276.go b/models/migrations/v1_21/v276.go index be24b31902..b5494ae46f 100644 --- a/models/migrations/v1_21/v276.go +++ b/models/migrations/v1_21/v276.go @@ -6,14 +6,13 @@ package v1_21 import ( "context" + "code.gitea.io/gitea/models/db" repo_model "code.gitea.io/gitea/models/repo" "code.gitea.io/gitea/modules/gitrepo" "code.gitea.io/gitea/modules/setting" - - "xorm.io/xorm" ) -func AddRemoteAddressToMirrors(x *xorm.Engine) error { +func AddRemoteAddressToMirrors(x db.EngineMigration) error { type Mirror struct { RemoteAddress string `xorm:"VARCHAR(2048)"` } @@ -33,7 +32,7 @@ func AddRemoteAddressToMirrors(x *xorm.Engine) error { return migratePushMirrors(x) } -func migratePullMirrors(x *xorm.Engine) error { +func migratePullMirrors(x db.EngineMigration) error { type Mirror struct { ID int64 `xorm:"pk autoincr"` RepoID int64 `xorm:"INDEX"` @@ -95,7 +94,7 @@ func migratePullMirrors(x *xorm.Engine) error { return sess.Commit() } -func migratePushMirrors(x *xorm.Engine) error { +func migratePushMirrors(x db.EngineMigration) error { type PushMirror struct { ID int64 `xorm:"pk autoincr"` RepoID int64 `xorm:"INDEX"` diff --git a/models/migrations/v1_21/v277.go b/models/migrations/v1_21/v277.go index 0c102eddde..46b6325671 100644 --- a/models/migrations/v1_21/v277.go +++ b/models/migrations/v1_21/v277.go @@ -3,11 +3,9 @@ package v1_21 -import ( - "xorm.io/xorm" -) +import "code.gitea.io/gitea/models/db" -func AddIndexToIssueUserIssueID(x *xorm.Engine) error { +func AddIndexToIssueUserIssueID(x db.EngineMigration) error { type IssueUser struct { IssueID int64 `xorm:"INDEX"` } diff --git a/models/migrations/v1_21/v278.go b/models/migrations/v1_21/v278.go index 846f228678..1d53d10e84 100644 --- a/models/migrations/v1_21/v278.go +++ b/models/migrations/v1_21/v278.go @@ -3,11 +3,9 @@ package v1_21 -import ( - "xorm.io/xorm" -) +import "code.gitea.io/gitea/models/db" -func AddIndexToCommentDependentIssueID(x *xorm.Engine) error { +func AddIndexToCommentDependentIssueID(x db.EngineMigration) error { type Comment struct { DependentIssueID int64 `xorm:"index"` } diff --git a/models/migrations/v1_21/v279.go b/models/migrations/v1_21/v279.go index beb39effe1..5961ac5776 100644 --- a/models/migrations/v1_21/v279.go +++ b/models/migrations/v1_21/v279.go @@ -4,10 +4,12 @@ package v1_21 import ( + "code.gitea.io/gitea/models/db" + "xorm.io/xorm" ) -func AddIndexToActionUserID(x *xorm.Engine) error { +func AddIndexToActionUserID(x db.EngineMigration) error { type Action struct { UserID int64 `xorm:"INDEX"` } diff --git a/models/migrations/v1_22/v280.go b/models/migrations/v1_22/v280.go index 2271cb6089..aab89dfd33 100644 --- a/models/migrations/v1_22/v280.go +++ b/models/migrations/v1_22/v280.go @@ -3,11 +3,9 @@ package v1_22 -import ( - "xorm.io/xorm" -) +import "code.gitea.io/gitea/models/db" -func RenameUserThemes(x *xorm.Engine) error { +func RenameUserThemes(x db.EngineMigration) error { sess := x.NewSession() defer sess.Close() diff --git a/models/migrations/v1_22/v281.go b/models/migrations/v1_22/v281.go index 129ec2cba0..7678a5b057 100644 --- a/models/migrations/v1_22/v281.go +++ b/models/migrations/v1_22/v281.go @@ -4,12 +4,11 @@ package v1_22 import ( + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/modules/timeutil" - - "xorm.io/xorm" ) -func CreateAuthTokenTable(x *xorm.Engine) error { +func CreateAuthTokenTable(x db.EngineMigration) error { type AuthToken struct { ID string `xorm:"pk"` TokenHash string diff --git a/models/migrations/v1_22/v282.go b/models/migrations/v1_22/v282.go index eed64c30f7..0ae350e4eb 100644 --- a/models/migrations/v1_22/v282.go +++ b/models/migrations/v1_22/v282.go @@ -3,11 +3,9 @@ package v1_22 -import ( - "xorm.io/xorm" -) +import "code.gitea.io/gitea/models/db" -func AddIndexToPullAutoMergeDoerID(x *xorm.Engine) error { +func AddIndexToPullAutoMergeDoerID(x db.EngineMigration) error { type PullAutoMerge struct { DoerID int64 `xorm:"INDEX NOT NULL"` } diff --git a/models/migrations/v1_22/v283.go b/models/migrations/v1_22/v283.go index 0eca031b65..e984b7113b 100644 --- a/models/migrations/v1_22/v283.go +++ b/models/migrations/v1_22/v283.go @@ -6,11 +6,12 @@ package v1_22 import ( "fmt" - "xorm.io/xorm" + "code.gitea.io/gitea/models/db" + "xorm.io/xorm/schemas" ) -func AddCombinedIndexToIssueUser(x *xorm.Engine) error { +func AddCombinedIndexToIssueUser(x db.EngineMigration) error { type OldIssueUser struct { IssueID int64 UID int64 diff --git a/models/migrations/v1_22/v284.go b/models/migrations/v1_22/v284.go index 31b38f6aed..5d44529388 100644 --- a/models/migrations/v1_22/v284.go +++ b/models/migrations/v1_22/v284.go @@ -4,10 +4,12 @@ package v1_22 import ( + "code.gitea.io/gitea/models/db" + "xorm.io/xorm" ) -func AddIgnoreStaleApprovalsColumnToProtectedBranchTable(x *xorm.Engine) error { +func AddIgnoreStaleApprovalsColumnToProtectedBranchTable(x db.EngineMigration) error { type ProtectedBranch struct { IgnoreStaleApprovals bool `xorm:"NOT NULL DEFAULT false"` } diff --git a/models/migrations/v1_22/v285.go b/models/migrations/v1_22/v285.go index fed89f670e..54d5ca6bc5 100644 --- a/models/migrations/v1_22/v285.go +++ b/models/migrations/v1_22/v285.go @@ -6,10 +6,12 @@ package v1_22 import ( "time" + "code.gitea.io/gitea/models/db" + "xorm.io/xorm" ) -func AddPreviousDurationToActionRun(x *xorm.Engine) error { +func AddPreviousDurationToActionRun(x db.EngineMigration) error { type ActionRun struct { PreviousDuration time.Duration } diff --git a/models/migrations/v1_22/v286.go b/models/migrations/v1_22/v286.go index f3ba50dbb6..b0804c82eb 100644 --- a/models/migrations/v1_22/v286.go +++ b/models/migrations/v1_22/v286.go @@ -6,13 +6,14 @@ import ( "errors" "fmt" + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/modules/log" "code.gitea.io/gitea/modules/setting" "xorm.io/xorm" ) -func expandHashReferencesToSha256(x *xorm.Engine) error { +func expandHashReferencesToSha256(x db.EngineMigration) error { alteredTables := [][2]string{ {"commit_status", "context_hash"}, {"comment", "commit_sha"}, @@ -81,7 +82,7 @@ func expandHashReferencesToSha256(x *xorm.Engine) error { return db.Commit() } -func addObjectFormatNameToRepository(x *xorm.Engine) error { +func addObjectFormatNameToRepository(x db.EngineMigration) error { type Repository struct { ObjectFormatName string `xorm:"VARCHAR(6) NOT NULL DEFAULT 'sha1'"` } @@ -99,7 +100,7 @@ func addObjectFormatNameToRepository(x *xorm.Engine) error { return err } -func AdjustDBForSha256(x *xorm.Engine) error { +func AdjustDBForSha256(x db.EngineMigration) error { if err := expandHashReferencesToSha256(x); err != nil { return err } diff --git a/models/migrations/v1_22/v286_test.go b/models/migrations/v1_22/v286_test.go index 1bd7fac2f1..11d1026277 100644 --- a/models/migrations/v1_22/v286_test.go +++ b/models/migrations/v1_22/v286_test.go @@ -6,13 +6,13 @@ package v1_22 import ( "testing" + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/models/migrations/migrationtest" "github.com/stretchr/testify/assert" - "xorm.io/xorm" ) -func PrepareOldRepository(t *testing.T) (*xorm.Engine, func()) { +func PrepareOldRepository(t *testing.T) (db.EngineMigration, func()) { type Repository struct { // old struct ID int64 `xorm:"pk autoincr"` } diff --git a/models/migrations/v1_22/v287.go b/models/migrations/v1_22/v287.go index 5fd901f9de..715f70a596 100644 --- a/models/migrations/v1_22/v287.go +++ b/models/migrations/v1_22/v287.go @@ -3,9 +3,7 @@ package v1_22 -import ( - "xorm.io/xorm" -) +import "code.gitea.io/gitea/models/db" type BadgeUnique struct { ID int64 `xorm:"pk autoincr"` @@ -16,7 +14,7 @@ func (BadgeUnique) TableName() string { return "badge" } -func UseSlugInsteadOfIDForBadges(x *xorm.Engine) error { +func UseSlugInsteadOfIDForBadges(x db.EngineMigration) error { type Badge struct { Slug string } diff --git a/models/migrations/v1_22/v288.go b/models/migrations/v1_22/v288.go index 26c850c218..a2b6f6a607 100644 --- a/models/migrations/v1_22/v288.go +++ b/models/migrations/v1_22/v288.go @@ -4,9 +4,8 @@ package v1_22 import ( + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/modules/timeutil" - - "xorm.io/xorm" ) type Blocking struct { @@ -21,6 +20,6 @@ func (*Blocking) TableName() string { return "user_blocking" } -func AddUserBlockingTable(x *xorm.Engine) error { +func AddUserBlockingTable(x db.EngineMigration) error { return x.Sync(&Blocking{}) } diff --git a/models/migrations/v1_22/v289.go b/models/migrations/v1_22/v289.go index 78689a4ffa..11499b6869 100644 --- a/models/migrations/v1_22/v289.go +++ b/models/migrations/v1_22/v289.go @@ -3,9 +3,13 @@ package v1_22 -import "xorm.io/xorm" +import ( + "code.gitea.io/gitea/models/db" -func AddDefaultWikiBranch(x *xorm.Engine) error { + "xorm.io/xorm" +) + +func AddDefaultWikiBranch(x db.EngineMigration) error { type Repository struct { ID int64 DefaultWikiBranch string diff --git a/models/migrations/v1_22/v290.go b/models/migrations/v1_22/v290.go index 0f4d78410c..ec43cefcd9 100644 --- a/models/migrations/v1_22/v290.go +++ b/models/migrations/v1_22/v290.go @@ -4,6 +4,8 @@ package v1_22 import ( + "code.gitea.io/gitea/models/db" + "xorm.io/xorm" ) @@ -11,7 +13,7 @@ type HookTask struct { PayloadVersion int `xorm:"DEFAULT 1"` } -func AddPayloadVersionToHookTaskTable(x *xorm.Engine) error { +func AddPayloadVersionToHookTaskTable(x db.EngineMigration) error { // create missing column if _, err := x.SyncWithOptions(xorm.SyncOptions{ IgnoreIndices: true, diff --git a/models/migrations/v1_22/v291.go b/models/migrations/v1_22/v291.go index 823a644a95..67d928dd4d 100644 --- a/models/migrations/v1_22/v291.go +++ b/models/migrations/v1_22/v291.go @@ -3,9 +3,13 @@ package v1_22 -import "xorm.io/xorm" +import ( + "code.gitea.io/gitea/models/db" -func AddCommentIDIndexofAttachment(x *xorm.Engine) error { + "xorm.io/xorm" +) + +func AddCommentIDIndexofAttachment(x db.EngineMigration) error { type Attachment struct { CommentID int64 `xorm:"INDEX"` } diff --git a/models/migrations/v1_22/v293.go b/models/migrations/v1_22/v293.go index 5299b8618f..54016bc43d 100644 --- a/models/migrations/v1_22/v293.go +++ b/models/migrations/v1_22/v293.go @@ -4,14 +4,13 @@ package v1_22 import ( + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/modules/setting" "code.gitea.io/gitea/modules/timeutil" - - "xorm.io/xorm" ) // CheckProjectColumnsConsistency ensures there is exactly one default board per project present -func CheckProjectColumnsConsistency(x *xorm.Engine) error { +func CheckProjectColumnsConsistency(x db.EngineMigration) error { sess := x.NewSession() defer sess.Close() @@ -79,7 +78,7 @@ func CheckProjectColumnsConsistency(x *xorm.Engine) error { return removeDuplicatedBoardDefault(x) } -func removeDuplicatedBoardDefault(x *xorm.Engine) error { +func removeDuplicatedBoardDefault(x db.EngineMigration) error { type ProjectInfo struct { ProjectID int64 DefaultNum int diff --git a/models/migrations/v1_22/v294.go b/models/migrations/v1_22/v294.go index 8776e51a16..a839bd7b3b 100644 --- a/models/migrations/v1_22/v294.go +++ b/models/migrations/v1_22/v294.go @@ -6,12 +6,13 @@ package v1_22 import ( "fmt" - "xorm.io/xorm" + "code.gitea.io/gitea/models/db" + "xorm.io/xorm/schemas" ) // AddUniqueIndexForProjectIssue adds unique indexes for project issue table -func AddUniqueIndexForProjectIssue(x *xorm.Engine) error { +func AddUniqueIndexForProjectIssue(x db.EngineMigration) error { // remove possible duplicated records in table project_issue type result struct { IssueID int64 diff --git a/models/migrations/v1_22/v295.go b/models/migrations/v1_22/v295.go index 319b1a399b..86655d9e0d 100644 --- a/models/migrations/v1_22/v295.go +++ b/models/migrations/v1_22/v295.go @@ -3,9 +3,9 @@ package v1_22 -import "xorm.io/xorm" +import "code.gitea.io/gitea/models/db" -func AddCommitStatusSummary(x *xorm.Engine) error { +func AddCommitStatusSummary(x db.EngineMigration) error { type CommitStatusSummary struct { ID int64 `xorm:"pk autoincr"` RepoID int64 `xorm:"INDEX UNIQUE(repo_id_sha)"` @@ -14,5 +14,5 @@ func AddCommitStatusSummary(x *xorm.Engine) error { } // there is no migrations because if there is no data on this table, it will fall back to get data // from commit status - return x.Sync2(new(CommitStatusSummary)) + return x.Sync(new(CommitStatusSummary)) } diff --git a/models/migrations/v1_22/v296.go b/models/migrations/v1_22/v296.go index 75350f9f65..17981d18b6 100644 --- a/models/migrations/v1_22/v296.go +++ b/models/migrations/v1_22/v296.go @@ -3,9 +3,9 @@ package v1_22 -import "xorm.io/xorm" +import "code.gitea.io/gitea/models/db" -func AddCommitStatusSummary2(x *xorm.Engine) error { +func AddCommitStatusSummary2(x db.EngineMigration) error { type CommitStatusSummary struct { ID int64 `xorm:"pk autoincr"` TargetURL string `xorm:"TEXT"` diff --git a/models/migrations/v1_22/v297.go b/models/migrations/v1_22/v297.go index 9a4405f266..aea13a1e2a 100644 --- a/models/migrations/v1_22/v297.go +++ b/models/migrations/v1_22/v297.go @@ -4,12 +4,11 @@ package v1_22 import ( + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/models/perm" - - "xorm.io/xorm" ) -func AddRepoUnitEveryoneAccessMode(x *xorm.Engine) error { +func AddRepoUnitEveryoneAccessMode(x db.EngineMigration) error { type RepoUnit struct { //revive:disable-line:exported EveryoneAccessMode perm.AccessMode `xorm:"NOT NULL DEFAULT 0"` } diff --git a/models/migrations/v1_22/v298.go b/models/migrations/v1_22/v298.go index 7700173a00..bf6ebb3bd9 100644 --- a/models/migrations/v1_22/v298.go +++ b/models/migrations/v1_22/v298.go @@ -3,8 +3,8 @@ package v1_22 -import "xorm.io/xorm" +import "code.gitea.io/gitea/models/db" -func DropWronglyCreatedTable(x *xorm.Engine) error { +func DropWronglyCreatedTable(x db.EngineMigration) error { return x.DropTables("o_auth2_application") } diff --git a/models/migrations/v1_23/v299.go b/models/migrations/v1_23/v299.go index 11021d8855..50f8e8c0d0 100644 --- a/models/migrations/v1_23/v299.go +++ b/models/migrations/v1_23/v299.go @@ -3,9 +3,13 @@ package v1_23 -import "xorm.io/xorm" +import ( + "code.gitea.io/gitea/models/db" -func AddContentVersionToIssueAndComment(x *xorm.Engine) error { + "xorm.io/xorm" +) + +func AddContentVersionToIssueAndComment(x db.EngineMigration) error { type Issue struct { ContentVersion int `xorm:"NOT NULL DEFAULT 0"` } diff --git a/models/migrations/v1_23/v300.go b/models/migrations/v1_23/v300.go index 13c6489c5e..5ed11b68f7 100644 --- a/models/migrations/v1_23/v300.go +++ b/models/migrations/v1_23/v300.go @@ -3,9 +3,13 @@ package v1_23 -import "xorm.io/xorm" +import ( + "code.gitea.io/gitea/models/db" -func AddForcePushBranchProtection(x *xorm.Engine) error { + "xorm.io/xorm" +) + +func AddForcePushBranchProtection(x db.EngineMigration) error { type ProtectedBranch struct { CanForcePush bool `xorm:"NOT NULL DEFAULT false"` EnableForcePushAllowlist bool `xorm:"NOT NULL DEFAULT false"` diff --git a/models/migrations/v1_23/v301.go b/models/migrations/v1_23/v301.go index ed8e9ef059..cd7c90a69c 100644 --- a/models/migrations/v1_23/v301.go +++ b/models/migrations/v1_23/v301.go @@ -3,10 +3,14 @@ package v1_23 -import "xorm.io/xorm" +import ( + "code.gitea.io/gitea/models/db" + + "xorm.io/xorm" +) // AddSkipSeconderyAuthToOAuth2ApplicationTable: add SkipSecondaryAuthorization column, setting existing rows to false -func AddSkipSecondaryAuthColumnToOAuth2ApplicationTable(x *xorm.Engine) error { +func AddSkipSecondaryAuthColumnToOAuth2ApplicationTable(x db.EngineMigration) error { type oauth2Application struct { SkipSecondaryAuthorization bool `xorm:"NOT NULL DEFAULT FALSE"` } diff --git a/models/migrations/v1_23/v302.go b/models/migrations/v1_23/v302.go index e4a50b3ec8..804782332f 100644 --- a/models/migrations/v1_23/v302.go +++ b/models/migrations/v1_23/v302.go @@ -4,12 +4,13 @@ package v1_23 import ( + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/modules/timeutil" "xorm.io/xorm" ) -func AddIndexToActionTaskStoppedLogExpired(x *xorm.Engine) error { +func AddIndexToActionTaskStoppedLogExpired(x db.EngineMigration) error { type ActionTask struct { Stopped timeutil.TimeStamp `xorm:"index(stopped_log_expired)"` LogExpired bool `xorm:"index(stopped_log_expired)"` diff --git a/models/migrations/v1_23/v303.go b/models/migrations/v1_23/v303.go index dc541a9535..80a7ecf43f 100644 --- a/models/migrations/v1_23/v303.go +++ b/models/migrations/v1_23/v303.go @@ -4,6 +4,8 @@ package v1_23 import ( + "code.gitea.io/gitea/models/db" + "xorm.io/xorm" ) @@ -14,7 +16,7 @@ type CommentMetaData struct { ProjectTitle string `json:"project_title"` } -func AddCommentMetaDataColumn(x *xorm.Engine) error { +func AddCommentMetaDataColumn(x db.EngineMigration) error { type Comment struct { CommentMetaData *CommentMetaData `xorm:"JSON TEXT"` // put all non-index metadata in a single field } diff --git a/models/migrations/v1_23/v304.go b/models/migrations/v1_23/v304.go index 35d4d4881a..915ba8707f 100644 --- a/models/migrations/v1_23/v304.go +++ b/models/migrations/v1_23/v304.go @@ -3,9 +3,13 @@ package v1_23 -import "xorm.io/xorm" +import ( + "code.gitea.io/gitea/models/db" -func AddIndexForReleaseSha1(x *xorm.Engine) error { + "xorm.io/xorm" +) + +func AddIndexForReleaseSha1(x db.EngineMigration) error { type Release struct { Sha1 string `xorm:"INDEX VARCHAR(64)"` } diff --git a/models/migrations/v1_23/v305.go b/models/migrations/v1_23/v305.go index 3762279de1..e4c7fdb9e0 100644 --- a/models/migrations/v1_23/v305.go +++ b/models/migrations/v1_23/v305.go @@ -4,12 +4,11 @@ package v1_23 import ( + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/modules/timeutil" - - "xorm.io/xorm" ) -func AddRepositoryLicenses(x *xorm.Engine) error { +func AddRepositoryLicenses(x db.EngineMigration) error { type RepoLicense struct { ID int64 `xorm:"pk autoincr"` RepoID int64 `xorm:"UNIQUE(s) NOT NULL"` diff --git a/models/migrations/v1_23/v306.go b/models/migrations/v1_23/v306.go index c5c89dbeb8..eb1a2a1bda 100644 --- a/models/migrations/v1_23/v306.go +++ b/models/migrations/v1_23/v306.go @@ -3,9 +3,13 @@ package v1_23 -import "xorm.io/xorm" +import ( + "code.gitea.io/gitea/models/db" -func AddBlockAdminMergeOverrideBranchProtection(x *xorm.Engine) error { + "xorm.io/xorm" +) + +func AddBlockAdminMergeOverrideBranchProtection(x db.EngineMigration) error { type ProtectedBranch struct { BlockAdminMergeOverride bool `xorm:"NOT NULL DEFAULT false"` } diff --git a/models/migrations/v1_23/v307.go b/models/migrations/v1_23/v307.go index 54a69d250b..618d7ee277 100644 --- a/models/migrations/v1_23/v307.go +++ b/models/migrations/v1_23/v307.go @@ -4,12 +4,11 @@ package v1_23 import ( + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/modules/timeutil" - - "xorm.io/xorm" ) -func FixMilestoneNoDueDate(x *xorm.Engine) error { +func FixMilestoneNoDueDate(x db.EngineMigration) error { type Milestone struct { DeadlineUnix timeutil.TimeStamp } diff --git a/models/migrations/v1_23/v308.go b/models/migrations/v1_23/v308.go index 695fdfcc2d..137cf61874 100644 --- a/models/migrations/v1_23/v308.go +++ b/models/migrations/v1_23/v308.go @@ -4,9 +4,9 @@ package v1_23 import ( + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/modules/timeutil" - "xorm.io/xorm" "xorm.io/xorm/schemas" ) @@ -47,6 +47,6 @@ func (a *improveActionTableIndicesAction) TableIndices() []*schemas.Index { return indices } -func AddNewIndexForUserDashboard(x *xorm.Engine) error { +func AddNewIndexForUserDashboard(x db.EngineMigration) error { return x.Sync(new(improveActionTableIndicesAction)) } diff --git a/models/migrations/v1_23/v309.go b/models/migrations/v1_23/v309.go index e629b718a8..a622c9f10d 100644 --- a/models/migrations/v1_23/v309.go +++ b/models/migrations/v1_23/v309.go @@ -4,9 +4,9 @@ package v1_23 import ( + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/modules/timeutil" - "xorm.io/xorm" "xorm.io/xorm/schemas" ) @@ -72,6 +72,6 @@ func (*improveNotificationTableIndicesAction) TableIndices() []*schemas.Index { return indices } -func ImproveNotificationTableIndices(x *xorm.Engine) error { +func ImproveNotificationTableIndices(x db.EngineMigration) error { return x.Sync(&improveNotificationTableIndicesAction{}) } diff --git a/models/migrations/v1_23/v310.go b/models/migrations/v1_23/v310.go index 074b1c54d3..5f009bab4a 100644 --- a/models/migrations/v1_23/v310.go +++ b/models/migrations/v1_23/v310.go @@ -4,10 +4,12 @@ package v1_23 import ( + "code.gitea.io/gitea/models/db" + "xorm.io/xorm" ) -func AddPriorityToProtectedBranch(x *xorm.Engine) error { +func AddPriorityToProtectedBranch(x db.EngineMigration) error { type ProtectedBranch struct { Priority int64 `xorm:"NOT NULL DEFAULT 0"` } diff --git a/models/migrations/v1_23/v311.go b/models/migrations/v1_23/v311.go index ef48085c79..e229a8b98a 100644 --- a/models/migrations/v1_23/v311.go +++ b/models/migrations/v1_23/v311.go @@ -4,10 +4,12 @@ package v1_23 import ( + "code.gitea.io/gitea/models/db" + "xorm.io/xorm" ) -func AddTimeEstimateColumnToIssueTable(x *xorm.Engine) error { +func AddTimeEstimateColumnToIssueTable(x db.EngineMigration) error { type Issue struct { TimeEstimate int64 `xorm:"NOT NULL DEFAULT 0"` } diff --git a/models/migrations/v1_24/v312.go b/models/migrations/v1_24/v312.go index 823b0eae40..4c8fbbb453 100644 --- a/models/migrations/v1_24/v312.go +++ b/models/migrations/v1_24/v312.go @@ -4,6 +4,8 @@ package v1_24 import ( + "code.gitea.io/gitea/models/db" + "xorm.io/xorm" ) @@ -16,7 +18,7 @@ func (pullAutoMerge) TableName() string { return "pull_auto_merge" } -func AddDeleteBranchAfterMergeForAutoMerge(x *xorm.Engine) error { +func AddDeleteBranchAfterMergeForAutoMerge(x db.EngineMigration) error { _, err := x.SyncWithOptions(xorm.SyncOptions{ IgnoreConstrains: true, IgnoreIndices: true, diff --git a/models/migrations/v1_24/v313.go b/models/migrations/v1_24/v313.go index 7e6cda6bfd..3f12488def 100644 --- a/models/migrations/v1_24/v313.go +++ b/models/migrations/v1_24/v313.go @@ -4,12 +4,11 @@ package v1_24 import ( + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/models/migrations/base" - - "xorm.io/xorm" ) -func MovePinOrderToTableIssuePin(x *xorm.Engine) error { +func MovePinOrderToTableIssuePin(x db.EngineMigration) error { type IssuePin struct { ID int64 `xorm:"pk autoincr"` RepoID int64 `xorm:"UNIQUE(s) NOT NULL"` diff --git a/models/migrations/v1_24/v314.go b/models/migrations/v1_24/v314.go index 51cb2e34aa..19d26d42da 100644 --- a/models/migrations/v1_24/v314.go +++ b/models/migrations/v1_24/v314.go @@ -3,11 +3,9 @@ package v1_24 -import ( - "xorm.io/xorm" -) +import "code.gitea.io/gitea/models/db" -func UpdateOwnerIDOfRepoLevelActionsTables(x *xorm.Engine) error { +func UpdateOwnerIDOfRepoLevelActionsTables(x db.EngineMigration) error { if _, err := x.Exec("UPDATE `action_runner` SET `owner_id` = 0 WHERE `repo_id` > 0 AND `owner_id` > 0"); err != nil { return err } diff --git a/models/migrations/v1_24/v315.go b/models/migrations/v1_24/v315.go index 52b9b44785..efac5b3ddb 100644 --- a/models/migrations/v1_24/v315.go +++ b/models/migrations/v1_24/v315.go @@ -4,10 +4,12 @@ package v1_24 import ( + "code.gitea.io/gitea/models/db" + "xorm.io/xorm" ) -func AddEphemeralToActionRunner(x *xorm.Engine) error { +func AddEphemeralToActionRunner(x db.EngineMigration) error { type ActionRunner struct { Ephemeral bool `xorm:"ephemeral NOT NULL DEFAULT false"` } diff --git a/models/migrations/v1_24/v316.go b/models/migrations/v1_24/v316.go index 14e888f9ee..0cdbb89c59 100644 --- a/models/migrations/v1_24/v316.go +++ b/models/migrations/v1_24/v316.go @@ -4,10 +4,12 @@ package v1_24 import ( + "code.gitea.io/gitea/models/db" + "xorm.io/xorm" ) -func AddDescriptionForSecretsAndVariables(x *xorm.Engine) error { +func AddDescriptionForSecretsAndVariables(x db.EngineMigration) error { type Secret struct { Description string `xorm:"TEXT"` } diff --git a/models/migrations/v1_24/v317.go b/models/migrations/v1_24/v317.go index a13db2dd27..7e40bdb9a1 100644 --- a/models/migrations/v1_24/v317.go +++ b/models/migrations/v1_24/v317.go @@ -4,9 +4,9 @@ package v1_24 import ( + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/modules/timeutil" - "xorm.io/xorm" "xorm.io/xorm/schemas" ) @@ -51,6 +51,6 @@ func (a *improveActionTableIndicesAction) TableIndices() []*schemas.Index { return indices } -func AddNewIndexForUserDashboard(x *xorm.Engine) error { +func AddNewIndexForUserDashboard(x db.EngineMigration) error { return x.Sync(new(improveActionTableIndicesAction)) } diff --git a/models/migrations/v1_24/v318.go b/models/migrations/v1_24/v318.go index 9b4a540960..3b2f342a66 100644 --- a/models/migrations/v1_24/v318.go +++ b/models/migrations/v1_24/v318.go @@ -4,12 +4,13 @@ package v1_24 import ( + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/models/perm" "xorm.io/xorm" ) -func AddRepoUnitAnonymousAccessMode(x *xorm.Engine) error { +func AddRepoUnitAnonymousAccessMode(x db.EngineMigration) error { type RepoUnit struct { //revive:disable-line:exported AnonymousAccessMode perm.AccessMode `xorm:"NOT NULL DEFAULT 0"` } diff --git a/models/migrations/v1_24/v319.go b/models/migrations/v1_24/v319.go index 648081f74e..e57ce84653 100644 --- a/models/migrations/v1_24/v319.go +++ b/models/migrations/v1_24/v319.go @@ -4,10 +4,12 @@ package v1_24 import ( + "code.gitea.io/gitea/models/db" + "xorm.io/xorm" ) -func AddExclusiveOrderColumnToLabelTable(x *xorm.Engine) error { +func AddExclusiveOrderColumnToLabelTable(x db.EngineMigration) error { type Label struct { ExclusiveOrder int `xorm:"DEFAULT 0"` } diff --git a/models/migrations/v1_24/v320.go b/models/migrations/v1_24/v320.go index ebef71939c..07d085ccb9 100644 --- a/models/migrations/v1_24/v320.go +++ b/models/migrations/v1_24/v320.go @@ -4,12 +4,13 @@ package v1_24 import ( + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/modules/json" "xorm.io/xorm" ) -func MigrateSkipTwoFactor(x *xorm.Engine) error { +func MigrateSkipTwoFactor(x db.EngineMigration) error { type LoginSource struct { TwoFactorPolicy string `xorm:"two_factor_policy NOT NULL DEFAULT ''"` } diff --git a/models/migrations/v1_25/v321.go b/models/migrations/v1_25/v321.go index 73ef180f48..0282e743a7 100644 --- a/models/migrations/v1_25/v321.go +++ b/models/migrations/v1_25/v321.go @@ -4,14 +4,14 @@ package v1_25 import ( + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/models/migrations/base" "code.gitea.io/gitea/modules/setting" - "xorm.io/xorm" "xorm.io/xorm/schemas" ) -func UseLongTextInSomeColumnsAndFixBugs(x *xorm.Engine) error { +func UseLongTextInSomeColumnsAndFixBugs(x db.EngineMigration) error { if !setting.Database.Type.IsMySQL() { return nil // Only mysql need to change from text to long text, for other databases, they are the same } diff --git a/models/migrations/v1_25/v322.go b/models/migrations/v1_25/v322.go index 32dae9945a..51312cafb3 100644 --- a/models/migrations/v1_25/v322.go +++ b/models/migrations/v1_25/v322.go @@ -4,13 +4,13 @@ package v1_25 import ( + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/models/migrations/base" - "xorm.io/xorm" "xorm.io/xorm/schemas" ) -func ExtendCommentTreePathLength(x *xorm.Engine) error { +func ExtendCommentTreePathLength(x db.EngineMigration) error { dbType := x.Dialect().URI().DBType if dbType == schemas.SQLITE { // For SQLITE, varchar or char will always be represented as TEXT return nil diff --git a/models/migrations/v1_26/v323.go b/models/migrations/v1_26/v323.go index b116f73bf0..1fadd8b16f 100644 --- a/models/migrations/v1_26/v323.go +++ b/models/migrations/v1_26/v323.go @@ -4,10 +4,12 @@ package v1_26 import ( + "code.gitea.io/gitea/models/db" + "xorm.io/xorm" ) -func AddActionsConcurrency(x *xorm.Engine) error { +func AddActionsConcurrency(x db.EngineMigration) error { type ActionRun struct { RepoID int64 `xorm:"index(repo_concurrency)"` RawConcurrency string diff --git a/models/migrations/v1_26/v324.go b/models/migrations/v1_26/v324.go index 5d96bfa3ca..288295a90c 100644 --- a/models/migrations/v1_26/v324.go +++ b/models/migrations/v1_26/v324.go @@ -6,10 +6,10 @@ package v1_26 import ( "fmt" - "xorm.io/xorm" + "code.gitea.io/gitea/models/db" ) -func FixClosedMilestoneCompleteness(x *xorm.Engine) error { +func FixClosedMilestoneCompleteness(x db.EngineMigration) error { // Update all milestones to recalculate completeness with the new logic: // - Closed milestones with 0 issues should show 100% // - All other milestones should calculate based on closed/total ratio diff --git a/models/migrations/v1_26/v325.go b/models/migrations/v1_26/v325.go index d81540f44e..8f753554c1 100644 --- a/models/migrations/v1_26/v325.go +++ b/models/migrations/v1_26/v325.go @@ -3,11 +3,9 @@ package v1_26 -import ( - "xorm.io/xorm" -) +import "code.gitea.io/gitea/models/db" -func FixMissedRepoIDWhenMigrateAttachments(x *xorm.Engine) error { +func FixMissedRepoIDWhenMigrateAttachments(x db.EngineMigration) error { _, err := x.Exec("UPDATE `attachment` SET `repo_id` = (SELECT `repo_id` FROM `issue` WHERE `issue`.`id` = `attachment`.`issue_id`) WHERE `issue_id` > 0 AND (`repo_id` IS NULL OR `repo_id` = 0);") if err != nil { return err diff --git a/models/migrations/v1_26/v326.go b/models/migrations/v1_26/v326.go index dcf548bec0..1b0462862c 100644 --- a/models/migrations/v1_26/v326.go +++ b/models/migrations/v1_26/v326.go @@ -10,12 +10,11 @@ import ( "strconv" "strings" + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/modules/json" "code.gitea.io/gitea/modules/log" "code.gitea.io/gitea/modules/setting" webhook_module "code.gitea.io/gitea/modules/webhook" - - "xorm.io/xorm" ) const ( @@ -92,7 +91,7 @@ type commitSHAAndRuns struct { // Only rows whose resolved run ID is below legacyURLIDThreshold are rewritten. // This is because smaller legacy run indexes are more likely to collide with run ID URLs during runtime resolution, // so this migration prioritizes that lower range and leaves the remaining legacy target URLs to the web compatibility logic. -func FixCommitStatusTargetURLToUseRunAndJobID(x *xorm.Engine) error { +func FixCommitStatusTargetURLToUseRunAndJobID(x db.EngineMigration) error { jobsByRunIDCache := make(map[int64][]int64) repoLinkCache := make(map[int64]string) groups, err := loadLegacyMigrationRunGroups(x) @@ -113,7 +112,7 @@ func FixCommitStatusTargetURLToUseRunAndJobID(x *xorm.Engine) error { return nil } -func loadLegacyMigrationRunGroups(x *xorm.Engine) (map[int64]map[string]*commitSHAAndRuns, error) { +func loadLegacyMigrationRunGroups(x db.EngineMigration) (map[int64]map[string]*commitSHAAndRuns, error) { var runs []migrationActionRun if err := x.Table("action_run"). Where("id < ?", legacyURLIDThreshold). @@ -149,7 +148,7 @@ func loadLegacyMigrationRunGroups(x *xorm.Engine) (map[int64]map[string]*commitS } func migrateCommitStatusTargetURLForGroup( - x *xorm.Engine, + x db.EngineMigration, table string, repoID int64, sha string, @@ -210,7 +209,7 @@ func migrateCommitStatusTargetURLForGroup( return nil } -func getRepoLinkCached(x *xorm.Engine, cache map[int64]string, repoID int64) (string, error) { +func getRepoLinkCached(x db.EngineMigration, cache map[int64]string, repoID int64) (string, error) { if link, ok := cache[repoID]; ok { return link, nil } @@ -228,7 +227,7 @@ func getRepoLinkCached(x *xorm.Engine, cache map[int64]string, repoID int64) (st return link, nil } -func getJobIDByIndexCached(x *xorm.Engine, cache map[int64][]int64, runID, jobIndex int64) (int64, bool, error) { +func getJobIDByIndexCached(x db.EngineMigration, cache map[int64][]int64, runID, jobIndex int64) (int64, bool, error) { jobIDs, ok := cache[runID] if !ok { var jobs []migrationActionRunJob diff --git a/models/migrations/v1_26/v326_test.go b/models/migrations/v1_26/v326_test.go index a0225eb774..5246b7c7fc 100644 --- a/models/migrations/v1_26/v326_test.go +++ b/models/migrations/v1_26/v326_test.go @@ -6,6 +6,7 @@ package v1_26 import ( "testing" + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/models/migrations/migrationtest" "code.gitea.io/gitea/modules/setting" "code.gitea.io/gitea/modules/test" @@ -15,7 +16,6 @@ import ( _ "code.gitea.io/gitea/models/repo" "github.com/stretchr/testify/require" - "xorm.io/xorm" ) func Test_FixCommitStatusTargetURLToUseRunAndJobID(t *testing.T) { @@ -100,7 +100,7 @@ func Test_FixCommitStatusTargetURLToUseRunAndJobID(t *testing.T) { } } -func assertTargetURL(t *testing.T, x *xorm.Engine, table string, id int64, want string) { +func assertTargetURL(t *testing.T, x db.EngineMigration, table string, id int64, want string) { t.Helper() var row struct { diff --git a/models/migrations/v1_26/v327.go b/models/migrations/v1_26/v327.go index 51af567650..e0afdb958e 100644 --- a/models/migrations/v1_26/v327.go +++ b/models/migrations/v1_26/v327.go @@ -3,9 +3,13 @@ package v1_26 -import "xorm.io/xorm" +import ( + "code.gitea.io/gitea/models/db" -func AddDisabledToActionRunner(x *xorm.Engine) error { + "xorm.io/xorm" +) + +func AddDisabledToActionRunner(x db.EngineMigration) error { type ActionRunner struct { IsDisabled bool `xorm:"is_disabled NOT NULL DEFAULT false"` } diff --git a/models/migrations/v1_26/v328.go b/models/migrations/v1_26/v328.go index 8104730528..2d9d77cd31 100644 --- a/models/migrations/v1_26/v328.go +++ b/models/migrations/v1_26/v328.go @@ -4,10 +4,12 @@ package v1_26 import ( + "code.gitea.io/gitea/models/db" + "xorm.io/xorm" ) -func AddTokenPermissionsToActionRunJob(x *xorm.Engine) error { +func AddTokenPermissionsToActionRunJob(x db.EngineMigration) error { type ActionRunJob struct { TokenPermissions string `xorm:"JSON TEXT"` } diff --git a/models/migrations/v1_26/v329.go b/models/migrations/v1_26/v329.go index 1afd155f05..74baf074a3 100644 --- a/models/migrations/v1_26/v329.go +++ b/models/migrations/v1_26/v329.go @@ -6,7 +6,8 @@ package v1_26 import ( "fmt" - "xorm.io/xorm" + "code.gitea.io/gitea/models/db" + "xorm.io/xorm/schemas" ) @@ -27,7 +28,7 @@ func (n *UserBadge) TableIndices() []*schemas.Index { // AddUniqueIndexForUserBadge adds a compound unique indexes for user badge table // and it replaces an old index on user_id -func AddUniqueIndexForUserBadge(x *xorm.Engine) error { +func AddUniqueIndexForUserBadge(x db.EngineMigration) error { // remove possible duplicated records in table user_badge type result struct { UserID int64 diff --git a/models/migrations/v1_26/v330.go b/models/migrations/v1_26/v330.go index 9f77331090..4d083d7abf 100644 --- a/models/migrations/v1_26/v330.go +++ b/models/migrations/v1_26/v330.go @@ -4,10 +4,12 @@ package v1_26 import ( + "code.gitea.io/gitea/models/db" + "xorm.io/xorm" ) -func AddNameToWebhook(x *xorm.Engine) error { +func AddNameToWebhook(x db.EngineMigration) error { type Webhook struct { Name string `xorm:"VARCHAR(255) NOT NULL DEFAULT ''"` } diff --git a/models/migrations/v1_27/v331.go b/models/migrations/v1_27/v331.go index 204b7b661e..413fb8bd87 100644 --- a/models/migrations/v1_27/v331.go +++ b/models/migrations/v1_27/v331.go @@ -7,6 +7,7 @@ import ( "context" "time" + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/models/migrations/base" "code.gitea.io/gitea/modules/timeutil" @@ -90,7 +91,7 @@ func (actionRun) TableName() string { } // AddActionRunAttemptModel adds the ActionRunAttempt table and the supporting ActionRun/ActionRunJob fields. -func AddActionRunAttemptModel(x *xorm.Engine) error { +func AddActionRunAttemptModel(x db.EngineMigration) error { // add "action_run_attempt" if _, err := x.SyncWithOptions(xorm.SyncOptions{ IgnoreDropIndices: true, diff --git a/models/migrations/v1_27/v332.go b/models/migrations/v1_27/v332.go index f7e023a0cd..5c7ef465eb 100644 --- a/models/migrations/v1_27/v332.go +++ b/models/migrations/v1_27/v332.go @@ -3,7 +3,11 @@ package v1_27 -import "xorm.io/xorm" +import ( + "code.gitea.io/gitea/models/db" + + "xorm.io/xorm" +) type mirrorWithLastSyncUnix struct { LastSyncUnix int64 `xorm:"INDEX"` @@ -13,7 +17,7 @@ func (mirrorWithLastSyncUnix) TableName() string { return "mirror" } -func AddLastSyncUnixToMirror(x *xorm.Engine) error { +func AddLastSyncUnixToMirror(x db.EngineMigration) error { _, err := x.SyncWithOptions(xorm.SyncOptions{ IgnoreDropIndices: true, }, new(mirrorWithLastSyncUnix)) diff --git a/models/migrations/v1_27/v333.go b/models/migrations/v1_27/v333.go index 0ffab0a1f2..d492de40b5 100644 --- a/models/migrations/v1_27/v333.go +++ b/models/migrations/v1_27/v333.go @@ -3,9 +3,13 @@ package v1_27 -import "xorm.io/xorm" +import ( + "code.gitea.io/gitea/models/db" -func AddBranchProtectionBypassAllowlist(x *xorm.Engine) error { + "xorm.io/xorm" +) + +func AddBranchProtectionBypassAllowlist(x db.EngineMigration) error { type ProtectedBranch struct { EnableBypassAllowlist bool `xorm:"NOT NULL DEFAULT false"` BypassAllowlistUserIDs []int64 `xorm:"JSON TEXT"` diff --git a/models/migrations/v1_27/v334.go b/models/migrations/v1_27/v334.go index 111a81e8b0..c6b13740ec 100644 --- a/models/migrations/v1_27/v334.go +++ b/models/migrations/v1_27/v334.go @@ -3,9 +3,13 @@ package v1_27 -import "xorm.io/xorm" +import ( + "code.gitea.io/gitea/models/db" -func AddCancellingSupportToActionRunner(x *xorm.Engine) error { + "xorm.io/xorm" +) + +func AddCancellingSupportToActionRunner(x db.EngineMigration) error { type ActionRunner struct { HasCancellingSupport bool `xorm:"has_cancelling_support NOT NULL DEFAULT false"` } diff --git a/models/migrations/v1_6/v70.go b/models/migrations/v1_6/v70.go index 41f0966942..6b20715c70 100644 --- a/models/migrations/v1_6/v70.go +++ b/models/migrations/v1_6/v70.go @@ -7,12 +7,11 @@ import ( "fmt" "time" + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/modules/setting" - - "xorm.io/xorm" ) -func AddIssueDependencies(x *xorm.Engine) (err error) { +func AddIssueDependencies(x db.EngineMigration) (err error) { type IssueDependency struct { ID int64 `xorm:"pk autoincr"` UserID int64 `xorm:"NOT NULL"` diff --git a/models/migrations/v1_6/v71.go b/models/migrations/v1_6/v71.go index b4dcd87eba..011dc5511d 100644 --- a/models/migrations/v1_6/v71.go +++ b/models/migrations/v1_6/v71.go @@ -6,14 +6,13 @@ package v1_6 import ( "fmt" + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/models/migrations/base" "code.gitea.io/gitea/modules/timeutil" "code.gitea.io/gitea/modules/util" - - "xorm.io/xorm" ) -func AddScratchHash(x *xorm.Engine) error { +func AddScratchHash(x db.EngineMigration) error { // TwoFactor see models/twofactor.go type TwoFactor struct { ID int64 `xorm:"pk autoincr"` diff --git a/models/migrations/v1_6/v72.go b/models/migrations/v1_6/v72.go index 9fad88a1b6..5668570f2c 100644 --- a/models/migrations/v1_6/v72.go +++ b/models/migrations/v1_6/v72.go @@ -6,12 +6,11 @@ package v1_6 import ( "fmt" + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/modules/timeutil" - - "xorm.io/xorm" ) -func AddReview(x *xorm.Engine) error { +func AddReview(x db.EngineMigration) error { // Review see models/review.go type Review struct { ID int64 `xorm:"pk autoincr"` diff --git a/models/migrations/v1_7/v73.go b/models/migrations/v1_7/v73.go index e0b7a28537..44a035663a 100644 --- a/models/migrations/v1_7/v73.go +++ b/models/migrations/v1_7/v73.go @@ -3,11 +3,9 @@ package v1_7 -import ( - "xorm.io/xorm" -) +import "code.gitea.io/gitea/models/db" -func AddMustChangePassword(x *xorm.Engine) error { +func AddMustChangePassword(x db.EngineMigration) error { // User see models/user.go type User struct { ID int64 `xorm:"pk autoincr"` diff --git a/models/migrations/v1_7/v74.go b/models/migrations/v1_7/v74.go index 376be37a24..447606997e 100644 --- a/models/migrations/v1_7/v74.go +++ b/models/migrations/v1_7/v74.go @@ -3,9 +3,9 @@ package v1_7 -import "xorm.io/xorm" +import "code.gitea.io/gitea/models/db" -func AddApprovalWhitelistsToProtectedBranches(x *xorm.Engine) error { +func AddApprovalWhitelistsToProtectedBranches(x db.EngineMigration) error { type ProtectedBranch struct { ApprovalsWhitelistUserIDs []int64 `xorm:"JSON TEXT"` ApprovalsWhitelistTeamIDs []int64 `xorm:"JSON TEXT"` diff --git a/models/migrations/v1_7/v75.go b/models/migrations/v1_7/v75.go index ef11575466..c80edc0c14 100644 --- a/models/migrations/v1_7/v75.go +++ b/models/migrations/v1_7/v75.go @@ -4,11 +4,12 @@ package v1_7 import ( + "code.gitea.io/gitea/models/db" + "xorm.io/builder" - "xorm.io/xorm" ) -func ClearNonusedData(x *xorm.Engine) error { +func ClearNonusedData(x db.EngineMigration) error { condDelete := func(colName string) builder.Cond { return builder.NotIn(colName, builder.Select("id").From("`user`")) } diff --git a/models/migrations/v1_8/v76.go b/models/migrations/v1_8/v76.go index 81e9307549..f3e5c4aadb 100644 --- a/models/migrations/v1_8/v76.go +++ b/models/migrations/v1_8/v76.go @@ -6,12 +6,11 @@ package v1_8 import ( "fmt" + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/modules/timeutil" - - "xorm.io/xorm" ) -func AddPullRequestRebaseWithMerge(x *xorm.Engine) error { +func AddPullRequestRebaseWithMerge(x db.EngineMigration) error { // RepoUnit describes all units of a repository type RepoUnit struct { ID int64 diff --git a/models/migrations/v1_8/v77.go b/models/migrations/v1_8/v77.go index 4fe5ebe635..6350c486d7 100644 --- a/models/migrations/v1_8/v77.go +++ b/models/migrations/v1_8/v77.go @@ -3,11 +3,9 @@ package v1_8 -import ( - "xorm.io/xorm" -) +import "code.gitea.io/gitea/models/db" -func AddUserDefaultTheme(x *xorm.Engine) error { +func AddUserDefaultTheme(x db.EngineMigration) error { type User struct { Theme string `xorm:"VARCHAR(30) NOT NULL DEFAULT ''"` } diff --git a/models/migrations/v1_8/v78.go b/models/migrations/v1_8/v78.go index e67f464131..1c2afb712f 100644 --- a/models/migrations/v1_8/v78.go +++ b/models/migrations/v1_8/v78.go @@ -4,12 +4,11 @@ package v1_8 import ( + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/models/migrations/base" - - "xorm.io/xorm" ) -func RenameRepoIsBareToIsEmpty(x *xorm.Engine) error { +func RenameRepoIsBareToIsEmpty(x db.EngineMigration) error { type Repository struct { ID int64 `xorm:"pk autoincr"` IsBare bool diff --git a/models/migrations/v1_8/v79.go b/models/migrations/v1_8/v79.go index 3f50114d5a..35d16bcd04 100644 --- a/models/migrations/v1_8/v79.go +++ b/models/migrations/v1_8/v79.go @@ -4,12 +4,11 @@ package v1_8 import ( + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/modules/setting" - - "xorm.io/xorm" ) -func AddCanCloseIssuesViaCommitInAnyBranch(x *xorm.Engine) error { +func AddCanCloseIssuesViaCommitInAnyBranch(x db.EngineMigration) error { type Repository struct { ID int64 `xorm:"pk autoincr"` CloseIssuesViaCommitInAnyBranch bool `xorm:"NOT NULL DEFAULT false"` diff --git a/models/migrations/v1_8/v80.go b/models/migrations/v1_8/v80.go index 6f9df47a93..2518a8b1e4 100644 --- a/models/migrations/v1_8/v80.go +++ b/models/migrations/v1_8/v80.go @@ -3,9 +3,9 @@ package v1_8 -import "xorm.io/xorm" +import "code.gitea.io/gitea/models/db" -func AddIsLockedToIssues(x *xorm.Engine) error { +func AddIsLockedToIssues(x db.EngineMigration) error { // Issue see models/issue.go type Issue struct { ID int64 `xorm:"pk autoincr"` diff --git a/models/migrations/v1_8/v81.go b/models/migrations/v1_8/v81.go index 3c2acc6458..eac4eb3378 100644 --- a/models/migrations/v1_8/v81.go +++ b/models/migrations/v1_8/v81.go @@ -6,11 +6,12 @@ package v1_8 import ( "fmt" - "xorm.io/xorm" + "code.gitea.io/gitea/models/db" + "xorm.io/xorm/schemas" ) -func ChangeU2FCounterType(x *xorm.Engine) error { +func ChangeU2FCounterType(x db.EngineMigration) error { var err error switch x.Dialect().URI().DBType { diff --git a/models/migrations/v1_9/v82.go b/models/migrations/v1_9/v82.go index 8796b0563d..9fbe06267f 100644 --- a/models/migrations/v1_9/v82.go +++ b/models/migrations/v1_9/v82.go @@ -7,14 +7,13 @@ import ( "context" "fmt" + "code.gitea.io/gitea/models/db" repo_model "code.gitea.io/gitea/models/repo" "code.gitea.io/gitea/modules/git" "code.gitea.io/gitea/modules/gitrepo" - - "xorm.io/xorm" ) -func FixReleaseSha1OnReleaseTable(ctx context.Context, x *xorm.Engine) error { +func FixReleaseSha1OnReleaseTable(ctx context.Context, x db.EngineMigration) error { type Release struct { ID int64 RepoID int64 diff --git a/models/migrations/v1_9/v83.go b/models/migrations/v1_9/v83.go index a0cd57f7c5..8646386951 100644 --- a/models/migrations/v1_9/v83.go +++ b/models/migrations/v1_9/v83.go @@ -4,12 +4,11 @@ package v1_9 import ( + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/modules/timeutil" - - "xorm.io/xorm" ) -func AddUploaderIDForAttachment(x *xorm.Engine) error { +func AddUploaderIDForAttachment(x db.EngineMigration) error { type Attachment struct { ID int64 `xorm:"pk autoincr"` UUID string `xorm:"uuid UNIQUE"` diff --git a/models/migrations/v1_9/v84.go b/models/migrations/v1_9/v84.go index 423915ae57..95861f07f0 100644 --- a/models/migrations/v1_9/v84.go +++ b/models/migrations/v1_9/v84.go @@ -3,11 +3,9 @@ package v1_9 -import ( - "xorm.io/xorm" -) +import "code.gitea.io/gitea/models/db" -func AddGPGKeyImport(x *xorm.Engine) error { +func AddGPGKeyImport(x db.EngineMigration) error { type GPGKeyImport struct { KeyID string `xorm:"pk CHAR(16) NOT NULL"` Content string `xorm:"TEXT NOT NULL"` diff --git a/models/migrations/v1_9/v85.go b/models/migrations/v1_9/v85.go index 0e95a71f92..010ed5f784 100644 --- a/models/migrations/v1_9/v85.go +++ b/models/migrations/v1_9/v85.go @@ -6,15 +6,14 @@ package v1_9 import ( "fmt" + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/models/migrations/base" "code.gitea.io/gitea/modules/log" "code.gitea.io/gitea/modules/timeutil" "code.gitea.io/gitea/modules/util" - - "xorm.io/xorm" ) -func HashAppToken(x *xorm.Engine) error { +func HashAppToken(x db.EngineMigration) error { // AccessToken see models/token.go type AccessToken struct { ID int64 `xorm:"pk autoincr"` @@ -98,7 +97,7 @@ func HashAppToken(x *xorm.Engine) error { return resyncHashAppTokenWithUniqueHash(x) } -func resyncHashAppTokenWithUniqueHash(x *xorm.Engine) error { +func resyncHashAppTokenWithUniqueHash(x db.EngineMigration) error { // AccessToken see models/token.go type AccessToken struct { TokenHash string `xorm:"UNIQUE"` // sha256 of token - we will ensure UNIQUE later diff --git a/models/migrations/v1_9/v86.go b/models/migrations/v1_9/v86.go index 9464ff0cf6..c031c784b9 100644 --- a/models/migrations/v1_9/v86.go +++ b/models/migrations/v1_9/v86.go @@ -3,11 +3,9 @@ package v1_9 -import ( - "xorm.io/xorm" -) +import "code.gitea.io/gitea/models/db" -func AddHTTPMethodToWebhook(x *xorm.Engine) error { +func AddHTTPMethodToWebhook(x db.EngineMigration) error { type Webhook struct { HTTPMethod string `xorm:"http_method DEFAULT 'POST'"` } diff --git a/models/migrations/v1_9/v87.go b/models/migrations/v1_9/v87.go index 81a4ebf80d..03982d1cf7 100644 --- a/models/migrations/v1_9/v87.go +++ b/models/migrations/v1_9/v87.go @@ -3,11 +3,9 @@ package v1_9 -import ( - "xorm.io/xorm" -) +import "code.gitea.io/gitea/models/db" -func AddAvatarFieldToRepository(x *xorm.Engine) error { +func AddAvatarFieldToRepository(x db.EngineMigration) error { type Repository struct { // ID(10-20)-md5(32) - must fit into 64 symbols Avatar string `xorm:"VARCHAR(64)"` diff --git a/models/organization/org.go b/models/organization/org.go index 10a2c330e5..278f086100 100644 --- a/models/organization/org.go +++ b/models/organization/org.go @@ -19,7 +19,6 @@ import ( "code.gitea.io/gitea/modules/util" "xorm.io/builder" - "xorm.io/xorm" ) // ErrOrgNotExist represents a "OrgNotExist" kind of error. @@ -191,7 +190,7 @@ func (opts FindOrgMembersOpts) PublicOnly() bool { } // applyTeamMatesOnlyFilter make sure restricted users only see public team members and there own team mates -func (opts FindOrgMembersOpts) applyTeamMatesOnlyFilter(sess *xorm.Session) { +func (opts FindOrgMembersOpts) applyTeamMatesOnlyFilter(sess db.Session) { if opts.Doer != nil && opts.IsDoerMember && opts.Doer.IsRestricted { teamMates := builder.Select("DISTINCT team_user.uid"). From("team_user"). @@ -463,7 +462,7 @@ func GetOrgUsersByOrgID(ctx context.Context, opts *FindOrgMembersOpts) ([]*OrgUs } if opts.ListOptions.PageSize > 0 { - sess = db.SetSessionPagination(sess, opts) + db.SetSessionPagination(sess, opts) ous := make([]*OrgUser, 0, opts.PageSize) return ous, sess.Find(&ous) diff --git a/models/organization/team_list.go b/models/organization/team_list.go index 5629cec366..4d98e3148c 100644 --- a/models/organization/team_list.go +++ b/models/organization/team_list.go @@ -85,7 +85,7 @@ func SearchTeam(ctx context.Context, opts *SearchTeamOptions) (TeamList, int64, if opts.UserID > 0 { sess = sess.Join("INNER", "team_user", "team_user.team_id = team.id") } - sess = db.SetSessionPagination(sess, opts) + db.SetSessionPagination(sess, opts) teams := make([]*Team, 0, opts.PageSize) count, err := sess.Where(cond).OrderBy("CASE WHEN name=? THEN '' ELSE lower_name END", OwnerTeamName).FindAndCount(&teams) diff --git a/models/packages/container/search.go b/models/packages/container/search.go index 9321d9eb41..ac6a6d7fce 100644 --- a/models/packages/container/search.go +++ b/models/packages/container/search.go @@ -223,7 +223,7 @@ func SearchImageTags(ctx context.Context, opts *ImageTagsSearchOptions) ([]*pack opts.configureOrderBy(sess) if opts.Paginator != nil { - sess = db.SetSessionPagination(sess, opts) + db.SetSessionPagination(sess, opts) } pvs := make([]*packages.PackageVersion, 0, 10) diff --git a/models/packages/package_file.go b/models/packages/package_file.go index 64bd08f0b2..8715aa5339 100644 --- a/models/packages/package_file.go +++ b/models/packages/package_file.go @@ -232,7 +232,7 @@ func SearchFiles(ctx context.Context, opts *PackageFileSearchOptions) ([]*Packag Where(opts.toConds()) if opts.Paginator != nil { - sess = db.SetSessionPagination(sess, opts) + db.SetSessionPagination(sess, opts) } pfs := make([]*PackageFile, 0, 10) diff --git a/models/packages/package_version.go b/models/packages/package_version.go index 3e0e1899ea..8d26c24130 100644 --- a/models/packages/package_version.go +++ b/models/packages/package_version.go @@ -14,7 +14,6 @@ import ( "code.gitea.io/gitea/modules/util" "xorm.io/builder" - "xorm.io/xorm" ) // ErrDuplicatePackageVersion indicates a duplicated package version error @@ -297,11 +296,11 @@ func (opts *PackageSearchOptions) configureOrderBy(e db.Engine) { e.Desc("package_version.id") // Sort by id for stable order with duplicates in the other field } -func searchVersionsBySession(sess *xorm.Session, opts *PackageSearchOptions) ([]*PackageVersion, int64, error) { +func searchVersionsBySession(sess db.Session, opts *PackageSearchOptions) ([]*PackageVersion, int64, error) { opts.configureOrderBy(sess) pvs := make([]*PackageVersion, 0, 10) if opts.Paginator != nil { - sess = db.SetSessionPagination(sess, opts.Paginator) + db.SetSessionPagination(sess, opts.Paginator) count, err := sess.FindAndCount(&pvs) return pvs, count, err } diff --git a/models/repo/star.go b/models/repo/star.go index e1672623c8..dec80f51db 100644 --- a/models/repo/star.go +++ b/models/repo/star.go @@ -77,7 +77,7 @@ func GetStargazers(ctx context.Context, repo *Repository, opts db.ListOptions) ( sess := db.GetEngine(ctx).Where("star.repo_id = ?", repo.ID). Join("LEFT", "star", "`user`.id = star.uid") if opts.Page > 0 { - sess = db.SetSessionPagination(sess, &opts) + db.SetSessionPagination(sess, &opts) users := make([]*user_model.User, 0, opts.PageSize) return users, sess.Find(&users) diff --git a/models/repo/watch.go b/models/repo/watch.go index 1e63d5c3d2..610077816f 100644 --- a/models/repo/watch.go +++ b/models/repo/watch.go @@ -152,7 +152,7 @@ func GetRepoWatchers(ctx context.Context, repoID int64, opts db.ListOptions) ([] Join("LEFT", "watch", "`user`.id=`watch`.user_id"). And("`watch`.mode<>?", WatchModeDont) if opts.Page > 0 { - sess = db.SetSessionPagination(sess, &opts) + db.SetSessionPagination(sess, &opts) users := make([]*user_model.User, 0, opts.PageSize) return users, sess.Find(&users) diff --git a/models/user/badge.go b/models/user/badge.go index a4a465a9d5..f17a6f5cc5 100644 --- a/models/user/badge.go +++ b/models/user/badge.go @@ -69,7 +69,7 @@ func GetBadgeUsers(ctx context.Context, opts *GetBadgeUsersOptions) ([]*User, in Where("badge.slug=?", opts.BadgeSlug) if opts.Page > 0 { - sess = db.SetSessionPagination(sess, opts) + db.SetSessionPagination(sess, opts) } users := make([]*User, 0, opts.PageSize) diff --git a/models/user/search.go b/models/user/search.go index 36d1d3913b..36551b1913 100644 --- a/models/user/search.go +++ b/models/user/search.go @@ -15,7 +15,6 @@ import ( "code.gitea.io/gitea/modules/structs" "xorm.io/builder" - "xorm.io/xorm" ) // AdminUserOrderByMap represents all possible admin user search orders @@ -59,7 +58,7 @@ type SearchUserOptions struct { IncludeReserved bool } -func (opts *SearchUserOptions) toSearchQueryBase(ctx context.Context) *xorm.Session { +func (opts *SearchUserOptions) toSearchQueryBase(ctx context.Context) db.Session { var cond builder.Cond cond = builder.In("type", opts.Types) if opts.IncludeReserved { @@ -167,14 +166,15 @@ func SearchUsers(ctx context.Context, opts SearchUserOptions) (users []*User, _ opts.OrderBy = db.SearchOrderByAlphabetically } - sessQuery := opts.toSearchQueryBase(ctx).OrderBy(opts.OrderBy.String()) + sessQuery := opts.toSearchQueryBase(ctx) defer sessQuery.Close() + sessQuery.OrderBy(opts.OrderBy.String()) if opts.Page > 0 { - sessQuery = db.SetSessionPagination(sessQuery, &opts) + db.SetSessionPagination(sessQuery, &opts) } // the sql may contain JOIN, so we must only select User related columns - sessQuery = sessQuery.Select("`user`.*") + sessQuery.Select("`user`.*") users = make([]*User, 0, opts.PageSize) return users, count, sessQuery.Find(&users) } diff --git a/models/user/user.go b/models/user/user.go index 9d9551e28d..ba02a9949b 100644 --- a/models/user/user.go +++ b/models/user/user.go @@ -339,7 +339,7 @@ func GetUserFollowers(ctx context.Context, u, viewer *User, listOptions db.ListO And(isUserVisibleToViewerCond(viewer)) if listOptions.Page > 0 { - sess = db.SetSessionPagination(sess, &listOptions) + db.SetSessionPagination(sess, &listOptions) users := make([]*User, 0, listOptions.PageSize) count, err := sess.FindAndCount(&users) @@ -361,7 +361,7 @@ func GetUserFollowing(ctx context.Context, u, viewer *User, listOptions db.ListO And(isUserVisibleToViewerCond(viewer)) if listOptions.Page > 0 { - sess = db.SetSessionPagination(sess, &listOptions) + db.SetSessionPagination(sess, &listOptions) users := make([]*User, 0, listOptions.PageSize) count, err := sess.FindAndCount(&users) diff --git a/routers/common/db.go b/routers/common/db.go index 01c0261427..92f367504b 100644 --- a/routers/common/db.go +++ b/routers/common/db.go @@ -15,8 +15,6 @@ import ( "code.gitea.io/gitea/modules/setting" "code.gitea.io/gitea/modules/setting/config" "code.gitea.io/gitea/services/versioned_migration" - - "xorm.io/xorm" ) // InitDBEngine In case of problems connecting to DB, retry connection. Eg, PGSQL in Docker Container on Synology @@ -42,7 +40,7 @@ func InitDBEngine(ctx context.Context) (err error) { return nil } -func migrateWithSetting(ctx context.Context, x *xorm.Engine) error { +func migrateWithSetting(ctx context.Context, x db.EngineMigration) error { if setting.Database.AutoMigration { return versioned_migration.Migrate(ctx, x) } diff --git a/services/versioned_migration/migration.go b/services/versioned_migration/migration.go index c064bf7913..e71e70f20c 100644 --- a/services/versioned_migration/migration.go +++ b/services/versioned_migration/migration.go @@ -6,13 +6,12 @@ package versioned_migration import ( "context" + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/models/migrations" "code.gitea.io/gitea/modules/globallock" - - "xorm.io/xorm" ) -func Migrate(ctx context.Context, x *xorm.Engine) error { +func Migrate(ctx context.Context, x db.EngineMigration) error { // only one instance can do the migration at the same time if there are multiple instances release, err := globallock.Lock(ctx, "gitea_versioned_migration") if err != nil { diff --git a/tests/integration/migration-test/migration_test.go b/tests/integration/migration-test/migration_test.go index d28442b714..4b9dc20e07 100644 --- a/tests/integration/migration-test/migration_test.go +++ b/tests/integration/migration-test/migration_test.go @@ -28,10 +28,9 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "xorm.io/xorm" ) -var currentEngine *xorm.Engine +var currentEngine db.EngineMigration func initMigrationTest(t *testing.T) func() { testlogger.Init() @@ -148,7 +147,7 @@ func restoreOldDB(t *testing.T, version string) { _ = sqlDB.Close() } -func wrappedMigrate(ctx context.Context, x *xorm.Engine) error { +func wrappedMigrate(ctx context.Context, x db.EngineMigration) error { currentEngine = x return migrations.Migrate(ctx, x) } @@ -165,7 +164,7 @@ func doMigrationTest(t *testing.T, version string) { beans, _ := db.NamesToBean() - err = db.InitEngineWithMigration(t.Context(), func(ctx context.Context, x *xorm.Engine) error { + err = db.InitEngineWithMigration(t.Context(), func(ctx context.Context, x db.EngineMigration) error { currentEngine = x return migrate_base.RecreateTables(beans...)(x) }) @@ -173,7 +172,7 @@ func doMigrationTest(t *testing.T, version string) { currentEngine.Close() // We do this a second time to ensure that there is not a problem with retained indices - err = db.InitEngineWithMigration(t.Context(), func(ctx context.Context, x *xorm.Engine) error { + err = db.InitEngineWithMigration(t.Context(), func(ctx context.Context, x db.EngineMigration) error { currentEngine = x return migrate_base.RecreateTables(beans...)(x) })