summaryrefslogtreecommitdiffstats
path: root/models
diff options
context:
space:
mode:
Diffstat (limited to 'models')
-rw-r--r--models/migrations/migrations.go2
-rw-r--r--models/migrations/v129.go18
2 files changed, 20 insertions, 0 deletions
diff --git a/models/migrations/migrations.go b/models/migrations/migrations.go
index 794074524c..bb72b7f5d3 100644
--- a/models/migrations/migrations.go
+++ b/models/migrations/migrations.go
@@ -190,6 +190,8 @@ var migrations = []Migration{
NewMigration("add repository code language statistics", addLanguageStats),
// v128 -> v129
NewMigration("fix merge base for pull requests", fixMergeBase),
+ // v129 -> v130
+ NewMigration("remove dependencies from deleted repositories", purgeUnusedDependencies),
}
// Migrate database to current version
diff --git a/models/migrations/v129.go b/models/migrations/v129.go
new file mode 100644
index 0000000000..26f8ed3432
--- /dev/null
+++ b/models/migrations/v129.go
@@ -0,0 +1,18 @@
+// Copyright 2020 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 purgeUnusedDependencies(x *xorm.Engine) error {
+
+ if _, err := x.Exec("DELETE FROM issue_dependency WHERE issue_id NOT IN (SELECT id FROM issue)"); err != nil {
+ return err
+ }
+ _, err := x.Exec("DELETE FROM issue_dependency WHERE dependency_id NOT IN (SELECT id FROM issue)")
+ return err
+}