From 34a50c8aecc0d572d339e88d6dab0fa272f1c88f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A5=B6=E7=88=B8?= <1@5.nu> Date: Thu, 7 Jun 2018 10:49:49 +0800 Subject: [PATCH] clean unlinked webhook and hook_task --- models/migrations/migrations.go | 2 ++ models/migrations/v67.go | 13 +++++++++++++ 2 files changed, 15 insertions(+) create mode 100644 models/migrations/v67.go diff --git a/models/migrations/migrations.go b/models/migrations/migrations.go index 1300065ab..d35203093 100644 --- a/models/migrations/migrations.go +++ b/models/migrations/migrations.go @@ -186,6 +186,8 @@ var migrations = []Migration{ NewMigration("add u2f", addU2FReg), // v66 -> v67 NewMigration("add login source id column for public_key table", addLoginSourceIDToPublicKeyTable), + // v67 -> v68 + NewMigration("clean unlinked webhook and hook_task", cleanUnlinkedWebhookAndHookTasks), } // Migrate database to current version diff --git a/models/migrations/v67.go b/models/migrations/v67.go new file mode 100644 index 000000000..c7c0914f0 --- /dev/null +++ b/models/migrations/v67.go @@ -0,0 +1,13 @@ +// 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 ( + "github.com/go-xorm/xorm" +) + +func cleanUnlinkedWebhookAndHookTasks(x *xorm.Engine) error { + _, err := x.Exec(`DELETE FROM webhook WHERE (SELECT COUNT(*) FROM repository WHERE id = webhook.repo_id)=0;DELETE FROM hook_task WHERE (SELECT COUNT(*) FROM repository WHERE id = hook_task.repo_id)=0;`) + return err +}