diff options
author | wxiaoguang <wxiaoguang@gmail.com> | 2021-10-22 00:10:49 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-10-21 17:10:49 +0100 |
commit | 960c322586eceb9598bb0a9985a8dd987dc74807 (patch) | |
tree | 8a95695e81f571c82728994a006620b08e7fc8ab /models/migrations | |
parent | 67561e79f15f23a00ad07df36de0ee54d69efc78 (diff) | |
download | gitea-960c322586eceb9598bb0a9985a8dd987dc74807.tar.gz gitea-960c322586eceb9598bb0a9985a8dd987dc74807.zip |
Refactor update checker to use AppState (#17387)
We have the `AppState` module now, it can store app related data easily. We do not need to create separate tables for each feature.
So the update checker can use `AppState` instead of a one-row dedicate table.
And the code of update checker is moved from `models` to `modules`.
Diffstat (limited to 'models/migrations')
-rw-r--r-- | models/migrations/migrations.go | 4 | ||||
-rw-r--r-- | models/migrations/v199.go | 13 | ||||
-rw-r--r-- | models/migrations/v201.go | 15 |
3 files changed, 20 insertions, 12 deletions
diff --git a/models/migrations/migrations.go b/models/migrations/migrations.go index b1c91beef6..2686dfb3cf 100644 --- a/models/migrations/migrations.go +++ b/models/migrations/migrations.go @@ -351,9 +351,11 @@ var migrations = []Migration{ // v198 -> v199 NewMigration("Add issue content history table", addTableIssueContentHistory), // v199 -> v200 - NewMigration("Add remote version table", addRemoteVersionTable), + NewMigration("No-op (remote version is using AppState now)", addRemoteVersionTableNoop), // v200 -> v201 NewMigration("Add table app_state", addTableAppState), + // v201 -> v202 + NewMigration("Drop table remote_version (if exists)", dropTableRemoteVersion), } // GetCurrentDBVersion returns the current db version diff --git a/models/migrations/v199.go b/models/migrations/v199.go index 64b21172c1..4351ba4fa8 100644 --- a/models/migrations/v199.go +++ b/models/migrations/v199.go @@ -5,19 +5,10 @@ package migrations import ( - "fmt" - "xorm.io/xorm" ) -func addRemoteVersionTable(x *xorm.Engine) error { - type RemoteVersion struct { - ID int64 `xorm:"pk autoincr"` - Version string `xorm:"VARCHAR(50)"` - } - - if err := x.Sync2(new(RemoteVersion)); err != nil { - return fmt.Errorf("Sync2: %v", err) - } +func addRemoteVersionTableNoop(x *xorm.Engine) error { + // we used to use a table `remote_version` to store information for updater, now we use `AppState`, so this migration task is a no-op now. return nil } diff --git a/models/migrations/v201.go b/models/migrations/v201.go new file mode 100644 index 0000000000..637c30617c --- /dev/null +++ b/models/migrations/v201.go @@ -0,0 +1,15 @@ +// Copyright 2021 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 ( + "xorm.io/xorm" +) + +func dropTableRemoteVersion(x *xorm.Engine) error { + // drop the orphaned table introduced in `v199`, now the update checker also uses AppState, do not need this table + _ = x.DropTables("remote_version") + return nil +} |