summaryrefslogtreecommitdiffstats
path: root/models/migrations/v1_22/v292.go
diff options
context:
space:
mode:
Diffstat (limited to 'models/migrations/v1_22/v292.go')
-rw-r--r--models/migrations/v1_22/v292.go84
1 files changed, 4 insertions, 80 deletions
diff --git a/models/migrations/v1_22/v292.go b/models/migrations/v1_22/v292.go
index 7c051a2b75..beca556aee 100644
--- a/models/migrations/v1_22/v292.go
+++ b/models/migrations/v1_22/v292.go
@@ -3,83 +3,7 @@
package v1_22 //nolint
-import (
- "code.gitea.io/gitea/models/project"
- "code.gitea.io/gitea/modules/setting"
-
- "xorm.io/builder"
- "xorm.io/xorm"
-)
-
-// CheckProjectColumnsConsistency ensures there is exactly one default board per project present
-func CheckProjectColumnsConsistency(x *xorm.Engine) error {
- sess := x.NewSession()
- defer sess.Close()
-
- if err := sess.Begin(); err != nil {
- return err
- }
-
- limit := setting.Database.IterateBufferSize
- if limit <= 0 {
- limit = 50
- }
-
- start := 0
-
- for {
- var projects []project.Project
- if err := sess.SQL("SELECT DISTINCT `p`.`id`, `p`.`creator_id` FROM `project` `p` WHERE (SELECT COUNT(*) FROM `project_board` `pb` WHERE `pb`.`project_id` = `p`.`id` AND `pb`.`default` = ?) != 1", true).
- Limit(limit, start).
- Find(&projects); err != nil {
- return err
- }
-
- if len(projects) == 0 {
- break
- }
- start += len(projects)
-
- for _, p := range projects {
- var boards []project.Board
- if err := sess.Where("project_id=? AND `default` = ?", p.ID, true).OrderBy("sorting").Find(&boards); err != nil {
- return err
- }
-
- if len(boards) == 0 {
- if _, err := sess.Insert(project.Board{
- ProjectID: p.ID,
- Default: true,
- Title: "Uncategorized",
- CreatorID: p.CreatorID,
- }); err != nil {
- return err
- }
- continue
- }
-
- var boardsToUpdate []int64
- for id, b := range boards {
- if id > 0 {
- boardsToUpdate = append(boardsToUpdate, b.ID)
- }
- }
-
- if _, err := sess.Where(builder.Eq{"project_id": p.ID}.And(builder.In("id", boardsToUpdate))).
- Cols("`default`").Update(&project.Board{Default: false}); err != nil {
- return err
- }
- }
-
- if start%1000 == 0 {
- if err := sess.Commit(); err != nil {
- return err
- }
- if err := sess.Begin(); err != nil {
- return err
- }
- }
- }
-
- return sess.Commit()
-}
+// NOTE: noop the original migration has bug which some projects will be skip, so
+// these projects will have no default board.
+// So that this migration will be skipped and go to v293.go
+// This file is a placeholder so that readers can know what happened