Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions models/migrations/migrations.go
Original file line number Diff line number Diff line change
Expand Up @@ -236,6 +236,8 @@ var migrations = []Migration{
NewMigration("add original author/url migration info to issues, comments, and repo ", addOriginalMigrationInfo),
// v90 -> v91
NewMigration("change length of some repository columns", changeSomeColumnsLengthOfRepo),
// v91 -> v92
NewMigration("remove orphaned repository index statuses", removeLingeringIndexStatus),
}

// Migrate database to current version
Expand Down
34 changes: 34 additions & 0 deletions models/migrations/v91.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
// Copyright 2019 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 removeLingeringIndexStatus(x *xorm.Engine) error {

type RepoIndexerStatus struct {
ID int64 `xorm:"pk autoincr"`
RepoID int64 `xorm:"INDEX"`
CommitSha string `xorm:"VARCHAR(40)"`
}

var orphaned []*RepoIndexerStatus

err := x.
Join("LEFT OUTER", "`repository`", "`repository`.id = `repo_indexer_status`.repo_id").
Where("`repository`.id is null").
Find(&orphaned)
if err != nil {
return err
}

for _, o := range orphaned {
if _, err = x.Delete(o); err != nil {
return err
}
}

return nil
}