Fix delete-orphaned-repos (#28200) (#28202)

Backport #28200

gitea doctor failed at checking and fixing 'delete-orphaned-repos',
because table name 'user' needs quoting to be correctly recognized by at
least PostgreSQL.

fixes #28199

(cherry picked from commit 7cae4dfc00)
This commit is contained in:
pitpalme 2023-11-24 20:54:14 +01:00 committed by Earl Warren
parent a019cbde48
commit 453ff1a57d
No known key found for this signature in database
GPG key ID: 0579CB2928A78A00

View file

@ -26,7 +26,7 @@ func handleDeleteOrphanedRepos(ctx context.Context, logger log.Logger, autofix b
// countOrphanedRepos count repository where user of owner_id do not exist // countOrphanedRepos count repository where user of owner_id do not exist
func countOrphanedRepos(ctx context.Context) (int64, error) { func countOrphanedRepos(ctx context.Context) (int64, error) {
return db.CountOrphanedObjects(ctx, "repository", "user", "repository.owner_id=user.id") return db.CountOrphanedObjects(ctx, "repository", "user", "repository.owner_id=`user`.id")
} }
// deleteOrphanedRepos delete repository where user of owner_id do not exist // deleteOrphanedRepos delete repository where user of owner_id do not exist
@ -39,7 +39,7 @@ func deleteOrphanedRepos(ctx context.Context) (int64, error) {
for { for {
var ids []int64 var ids []int64
if err := e.Table("`repository`"). if err := e.Table("`repository`").
Join("LEFT", "`user`", "repository.owner_id=user.id"). Join("LEFT", "`user`", "repository.owner_id=`user`.id").
Where(builder.IsNull{"`user`.id"}). Where(builder.IsNull{"`user`.id"}).
Select("`repository`.id").Limit(batchSize).Find(&ids); err != nil { Select("`repository`.id").Limit(batchSize).Find(&ids); err != nil {
return deleted, err return deleted, err