diff options
Diffstat (limited to 'models/migrations/v16.go')
-rw-r--r-- | models/migrations/v16.go | 123 |
1 files changed, 0 insertions, 123 deletions
diff --git a/models/migrations/v16.go b/models/migrations/v16.go deleted file mode 100644 index a849205b55..0000000000 --- a/models/migrations/v16.go +++ /dev/null @@ -1,123 +0,0 @@ -// Copyright 2017 The Gitea Authors. All rights reserved. -// Use of this source code is governed by a MIT-style -// license that can be found in the LICENSE file. - -package migrations - -import ( - "fmt" - "time" - - "code.gitea.io/gitea/modules/markup" - - "xorm.io/xorm" -) - -// Enumerate all the unit types -const ( - V16UnitTypeCode = iota + 1 // 1 code - V16UnitTypeIssues // 2 issues - V16UnitTypePRs // 3 PRs - V16UnitTypeCommits // 4 Commits - V16UnitTypeReleases // 5 Releases - V16UnitTypeWiki // 6 Wiki - V16UnitTypeSettings // 7 Settings - V16UnitTypeExternalWiki // 8 ExternalWiki - V16UnitTypeExternalTracker // 9 ExternalTracker -) - -func addUnitsToTables(x *xorm.Engine) error { - // RepoUnit describes all units of a repository - type RepoUnit struct { - ID int64 - RepoID int64 `xorm:"INDEX(s)"` - Type int `xorm:"INDEX(s)"` - Index int - Config map[string]interface{} `xorm:"JSON"` - CreatedUnix int64 `xorm:"INDEX CREATED"` - Created time.Time `xorm:"-"` - } - - // Repo describes a repository - type Repo struct { - ID int64 - EnableWiki, EnableExternalWiki, EnableIssues, EnableExternalTracker, EnablePulls bool - ExternalWikiURL, ExternalTrackerURL, ExternalTrackerFormat, ExternalTrackerStyle string - } - - var repos []Repo - err := x.Table("repository").Select("*").Find(&repos) - if err != nil { - return fmt.Errorf("Query repositories: %v", err) - } - - sess := x.NewSession() - defer sess.Close() - - if err := sess.Begin(); err != nil { - return err - } - - var repoUnit RepoUnit - if exist, err := sess.IsTableExist(&repoUnit); err != nil { - return fmt.Errorf("IsExist RepoUnit: %v", err) - } else if exist { - return nil - } - - if err := sess.CreateTable(&repoUnit); err != nil { - return fmt.Errorf("CreateTable RepoUnit: %v", err) - } - - if err := sess.CreateUniques(&repoUnit); err != nil { - return fmt.Errorf("CreateUniques RepoUnit: %v", err) - } - - if err := sess.CreateIndexes(&repoUnit); err != nil { - return fmt.Errorf("CreateIndexes RepoUnit: %v", err) - } - - for _, repo := range repos { - for i := 1; i <= 9; i++ { - if (i == V16UnitTypeWiki || i == V16UnitTypeExternalWiki) && !repo.EnableWiki { - continue - } - if i == V16UnitTypeExternalWiki && !repo.EnableExternalWiki { - continue - } - if i == V16UnitTypePRs && !repo.EnablePulls { - continue - } - if (i == V16UnitTypeIssues || i == V16UnitTypeExternalTracker) && !repo.EnableIssues { - continue - } - if i == V16UnitTypeExternalTracker && !repo.EnableExternalTracker { - continue - } - - var config = make(map[string]interface{}) - switch i { - case V16UnitTypeExternalTracker: - config["ExternalTrackerURL"] = repo.ExternalTrackerURL - config["ExternalTrackerFormat"] = repo.ExternalTrackerFormat - if len(repo.ExternalTrackerStyle) == 0 { - repo.ExternalTrackerStyle = markup.IssueNameStyleNumeric - } - config["ExternalTrackerStyle"] = repo.ExternalTrackerStyle - case V16UnitTypeExternalWiki: - config["ExternalWikiURL"] = repo.ExternalWikiURL - } - - if _, err = sess.Insert(&RepoUnit{ - RepoID: repo.ID, - Type: i, - Index: i, - Config: config, - }); err != nil { - return fmt.Errorf("Insert repo unit: %v", err) - } - } - } - - return sess.Commit() -} |