aboutsummaryrefslogtreecommitdiff
path: root/models/migrations
diff options
context:
space:
mode:
author奶爸 <1@5.nu>2018-06-11 21:29:24 +0800
committerUnknwon <u@gogs.io>2018-06-11 21:29:24 +0800
commit04b4431bc0981e17cb0c84e8a629eab25441b013 (patch)
tree3ec6cf1006bae49b51d8f41b1b60d885581d36e9 /models/migrations
parenteccc8109c170315ec6bfe362fcabc87e1348b65f (diff)
migrations: clean unlinked webhook and hook_tasks
Diffstat (limited to 'models/migrations')
-rw-r--r--models/migrations/migrations.go2
-rw-r--r--models/migrations/v19.go18
2 files changed, 20 insertions, 0 deletions
diff --git a/models/migrations/migrations.go b/models/migrations/migrations.go
index 06747d38..5192419b 100644
--- a/models/migrations/migrations.go
+++ b/models/migrations/migrations.go
@@ -64,6 +64,8 @@ var migrations = []Migration{
NewMigration("update repository sizes", updateRepositorySizes),
// v16 -> v17:v0.10.31
NewMigration("remove invalid protect branch whitelist", removeInvalidProtectBranchWhitelist),
+ // v18 -> v19:v0.11.55
+ NewMigration("clean unlinked webhook and hook_tasks", cleanUnlinkedWebhookAndHookTasks),
}
// Migrate database to current version
diff --git a/models/migrations/v19.go b/models/migrations/v19.go
new file mode 100644
index 00000000..839e181f
--- /dev/null
+++ b/models/migrations/v19.go
@@ -0,0 +1,18 @@
+// Copyright 2018 The Gogs 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 (
+ "github.com/go-xorm/xorm"
+)
+
+func cleanUnlinkedWebhookAndHookTasks(x *xorm.Engine) error {
+ _, err := x.Exec(`DELETE FROM webhook WHERE repo_id NOT IN (SELECT id FROM repository);`)
+ if err != nil {
+ return err
+ }
+ _, err = x.Exec(`DELETE FROM hook_task WHERE repo_id NOT IN (SELECT id FROM repository);`)
+ return err
+}