Browse Source

Merge branch 'pr-5277' into develop

# Conflicts:
#	models/migrations/migrations.go
Unknwon 6 years ago
parent
commit
4d18df204a
2 changed files with 20 additions and 0 deletions
  1. 2 0
      models/migrations/migrations.go
  2. 18 0
      models/migrations/v19.go

+ 2 - 0
models/migrations/migrations.go

@@ -66,6 +66,8 @@ var migrations = []Migration{
 	NewMigration("remove invalid protect branch whitelist", removeInvalidProtectBranchWhitelist),
 	// v17 -> v18:v0.11.48
 	NewMigration("store long text in repository description field", updateRepositoryDescriptionField),
+	// v18 -> v19:v0.11.55
+	NewMigration("clean unlinked webhook and hook_tasks", cleanUnlinkedWebhookAndHookTasks),
 }
 
 // Migrate database to current version

+ 18 - 0
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
+}