diff options
author | Morlinest <Morlinest@users.noreply.github.com> | 2017-10-02 22:22:25 +0200 |
---|---|---|
committer | Lauris BH <lauris@nix.lv> | 2017-10-02 23:22:25 +0300 |
commit | a04718a2a6c2cfd46be17572b8220ee14b1bd1ac (patch) | |
tree | 017e127de6475b5d28c5e6ee5c8eb9123377135f /models | |
parent | 46cc45f04967ac4e258daafb98a716bc5ac77a94 (diff) | |
download | gitea-a04718a2a6c2cfd46be17572b8220ee14b1bd1ac.tar.gz gitea-a04718a2a6c2cfd46be17572b8220ee14b1bd1ac.zip |
Remove repo unit index (#2621)
* Remove repo unit index
* Fix sqlite
Diffstat (limited to 'models')
-rw-r--r-- | models/fixtures/repo_unit.yml | 10 | ||||
-rw-r--r-- | models/migrations/migrations.go | 2 | ||||
-rw-r--r-- | models/migrations/v45.go | 28 | ||||
-rw-r--r-- | models/repo.go | 4 | ||||
-rw-r--r-- | models/repo_unit.go | 5 |
5 files changed, 33 insertions, 16 deletions
diff --git a/models/fixtures/repo_unit.yml b/models/fixtures/repo_unit.yml index ef06107928..e9931453ad 100644 --- a/models/fixtures/repo_unit.yml +++ b/models/fixtures/repo_unit.yml @@ -2,7 +2,6 @@ id: 1 repo_id: 1 type: 4 - index: 3 config: "{}" created_unix: 946684810 @@ -10,7 +9,6 @@ id: 2 repo_id: 1 type: 5 - index: 4 config: "{}" created_unix: 946684810 @@ -18,7 +16,6 @@ id: 3 repo_id: 1 type: 1 - index: 0 config: "{}" created_unix: 946684810 @@ -26,7 +23,6 @@ id: 4 repo_id: 1 type: 2 - index: 1 config: "{\"EnableTimetracker\":true,\"AllowOnlyContributorsToTrackTime\":true}" created_unix: 946684810 @@ -34,7 +30,6 @@ id: 5 repo_id: 1 type: 3 - index: 2 config: "{}" created_unix: 946684810 @@ -42,7 +37,6 @@ id: 6 repo_id: 3 type: 1 - index: 0 config: "{}" created_unix: 946684810 @@ -50,7 +44,6 @@ id: 7 repo_id: 3 type: 2 - index: 1 config: "{\"EnableTimetracker\":false,\"AllowOnlyContributorsToTrackTime\":false}" created_unix: 946684810 @@ -58,7 +51,6 @@ id: 8 repo_id: 3 type: 3 - index: 2 config: "{}" created_unix: 946684810 @@ -66,7 +58,6 @@ id: 9 repo_id: 3 type: 4 - index: 3 config: "{}" created_unix: 946684810 @@ -74,6 +65,5 @@ id: 10 repo_id: 3 type: 5 - index: 4 config: "{}" created_unix: 946684810 diff --git a/models/migrations/migrations.go b/models/migrations/migrations.go index c2cd7568af..99fedf9d19 100644 --- a/models/migrations/migrations.go +++ b/models/migrations/migrations.go @@ -138,6 +138,8 @@ var migrations = []Migration{ NewMigration("fix protected branch can push value to false", fixProtectedBranchCanPushValue), // v44 -> v45 NewMigration("remove duplicate unit types", removeDuplicateUnitTypes), + // v45 -> v46 + NewMigration("remove index column from repo_unit table", removeIndexColumnFromRepoUnitTable), } // Migrate database to current version diff --git a/models/migrations/v45.go b/models/migrations/v45.go new file mode 100644 index 0000000000..ea3c024325 --- /dev/null +++ b/models/migrations/v45.go @@ -0,0 +1,28 @@ +// 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" + + "code.gitea.io/gitea/modules/log" + "code.gitea.io/gitea/modules/setting" + "github.com/go-xorm/xorm" +) + +func removeIndexColumnFromRepoUnitTable(x *xorm.Engine) (err error) { + switch { + case setting.UseSQLite3: + log.Warn("Unable to drop columns in SQLite") + case setting.UseMySQL, setting.UsePostgreSQL, setting.UseMSSQL, setting.UseTiDB: + if _, err := x.Exec("ALTER TABLE repo_unit DROP COLUMN index"); err != nil { + return fmt.Errorf("DROP COLUMN index: %v", err) + } + default: + log.Fatal(4, "Unrecognized DB") + } + + return nil +} diff --git a/models/repo.go b/models/repo.go index 6b457863c8..e2714c74ca 100644 --- a/models/repo.go +++ b/models/repo.go @@ -1245,19 +1245,17 @@ func createRepository(e *xorm.Session, doer, u *User, repo *Repository) (err err // insert units for repo var units = make([]RepoUnit, 0, len(defaultRepoUnits)) - for i, tp := range defaultRepoUnits { + for _, tp := range defaultRepoUnits { if tp == UnitTypeIssues { units = append(units, RepoUnit{ RepoID: repo.ID, Type: tp, - Index: i, Config: &IssuesConfig{EnableTimetracker: setting.Service.DefaultEnableTimetracking, AllowOnlyContributorsToTrackTime: setting.Service.DefaultAllowOnlyContributorsToTrackTime}, }) } else { units = append(units, RepoUnit{ RepoID: repo.ID, Type: tp, - Index: i, }) } diff --git a/models/repo_unit.go b/models/repo_unit.go index cb647fd406..3f0e65f9ab 100644 --- a/models/repo_unit.go +++ b/models/repo_unit.go @@ -16,9 +16,8 @@ import ( // RepoUnit describes all units of a repository type RepoUnit struct { ID int64 - RepoID int64 `xorm:"INDEX(s)"` - Type UnitType `xorm:"INDEX(s)"` - Index int + RepoID int64 `xorm:"INDEX(s)"` + Type UnitType `xorm:"INDEX(s)"` Config core.Conversion `xorm:"TEXT"` CreatedUnix int64 `xorm:"INDEX CREATED"` Created time.Time `xorm:"-"` |