| @@ -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 | |||
| @@ -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 | |||
| @@ -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 | |||
| } | |||
| @@ -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, | |||
| }) | |||
| } | |||
| @@ -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:"-"` | |||
| @@ -149,7 +149,6 @@ func SettingsPost(ctx *context.Context, form auth.RepoSettingForm) { | |||
| units = append(units, models.RepoUnit{ | |||
| RepoID: repo.ID, | |||
| Type: tp, | |||
| Index: int(tp), | |||
| Config: new(models.UnitConfig), | |||
| }) | |||
| } | |||
| @@ -165,7 +164,6 @@ func SettingsPost(ctx *context.Context, form auth.RepoSettingForm) { | |||
| units = append(units, models.RepoUnit{ | |||
| RepoID: repo.ID, | |||
| Type: models.UnitTypeExternalWiki, | |||
| Index: int(models.UnitTypeExternalWiki), | |||
| Config: &models.ExternalWikiConfig{ | |||
| ExternalWikiURL: form.ExternalWikiURL, | |||
| }, | |||
| @@ -174,7 +172,6 @@ func SettingsPost(ctx *context.Context, form auth.RepoSettingForm) { | |||
| units = append(units, models.RepoUnit{ | |||
| RepoID: repo.ID, | |||
| Type: models.UnitTypeWiki, | |||
| Index: int(models.UnitTypeWiki), | |||
| Config: new(models.UnitConfig), | |||
| }) | |||
| } | |||
| @@ -190,7 +187,6 @@ func SettingsPost(ctx *context.Context, form auth.RepoSettingForm) { | |||
| units = append(units, models.RepoUnit{ | |||
| RepoID: repo.ID, | |||
| Type: models.UnitTypeExternalTracker, | |||
| Index: int(models.UnitTypeExternalTracker), | |||
| Config: &models.ExternalTrackerConfig{ | |||
| ExternalTrackerURL: form.ExternalTrackerURL, | |||
| ExternalTrackerFormat: form.TrackerURLFormat, | |||
| @@ -201,7 +197,6 @@ func SettingsPost(ctx *context.Context, form auth.RepoSettingForm) { | |||
| units = append(units, models.RepoUnit{ | |||
| RepoID: repo.ID, | |||
| Type: models.UnitTypeIssues, | |||
| Index: int(models.UnitTypeIssues), | |||
| Config: &models.IssuesConfig{ | |||
| EnableTimetracker: form.EnableTimetracker, | |||
| AllowOnlyContributorsToTrackTime: form.AllowOnlyContributorsToTrackTime, | |||
| @@ -214,7 +209,6 @@ func SettingsPost(ctx *context.Context, form auth.RepoSettingForm) { | |||
| units = append(units, models.RepoUnit{ | |||
| RepoID: repo.ID, | |||
| Type: models.UnitTypePullRequests, | |||
| Index: int(models.UnitTypePullRequests), | |||
| Config: new(models.UnitConfig), | |||
| }) | |||
| } | |||