aboutsummaryrefslogtreecommitdiffstats
path: root/models
diff options
context:
space:
mode:
authorMorlinest <Morlinest@users.noreply.github.com>2017-10-02 22:22:25 +0200
committerLauris BH <lauris@nix.lv>2017-10-02 23:22:25 +0300
commita04718a2a6c2cfd46be17572b8220ee14b1bd1ac (patch)
tree017e127de6475b5d28c5e6ee5c8eb9123377135f /models
parent46cc45f04967ac4e258daafb98a716bc5ac77a94 (diff)
downloadgitea-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.yml10
-rw-r--r--models/migrations/migrations.go2
-rw-r--r--models/migrations/v45.go28
-rw-r--r--models/repo.go4
-rw-r--r--models/repo_unit.go5
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:"-"`