mirror of
				https://github.com/go-gitea/gitea
				synced 2025-11-04 05:18:25 +00:00 
			
		
		
		
	Initalize stroage for orphaned repository doctor (#28487)
- When a repository is orphaned and has objects stored in any of the storages such as repository avatar or attachments the delete function would error, because the storage module wasn't initalized. - Add code to initialize the storage module. Refs: https://codeberg.org/forgejo/forgejo/pulls/1954 Co-authored-by: Gusted <postmaster@gusted.xyz>
This commit is contained in:
		@@ -9,6 +9,7 @@ import (
 | 
				
			|||||||
	"code.gitea.io/gitea/models/db"
 | 
						"code.gitea.io/gitea/models/db"
 | 
				
			||||||
	user_model "code.gitea.io/gitea/models/user"
 | 
						user_model "code.gitea.io/gitea/models/user"
 | 
				
			||||||
	"code.gitea.io/gitea/modules/log"
 | 
						"code.gitea.io/gitea/modules/log"
 | 
				
			||||||
 | 
						"code.gitea.io/gitea/modules/storage"
 | 
				
			||||||
	repo_service "code.gitea.io/gitea/services/repository"
 | 
						repo_service "code.gitea.io/gitea/services/repository"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	"xorm.io/builder"
 | 
						"xorm.io/builder"
 | 
				
			||||||
@@ -31,6 +32,10 @@ func countOrphanedRepos(ctx context.Context) (int64, error) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
// deleteOrphanedRepos delete repository where user of owner_id do not exist
 | 
					// deleteOrphanedRepos delete repository where user of owner_id do not exist
 | 
				
			||||||
func deleteOrphanedRepos(ctx context.Context) (int64, error) {
 | 
					func deleteOrphanedRepos(ctx context.Context) (int64, error) {
 | 
				
			||||||
 | 
						if err := storage.Init(); err != nil {
 | 
				
			||||||
 | 
							return 0, err
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	batchSize := db.MaxBatchInsertSize("repository")
 | 
						batchSize := db.MaxBatchInsertSize("repository")
 | 
				
			||||||
	e := db.GetEngine(ctx)
 | 
						e := db.GetEngine(ctx)
 | 
				
			||||||
	var deleted int64
 | 
						var deleted int64
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user