1
1
mirror of https://github.com/go-gitea/gitea synced 2025-07-22 18:28:37 +00:00

Split migrations folder (#21549)

There are too many files in `models/migrations` folder so that I split
them into sub folders.
This commit is contained in:
Lunny Xiao
2022-11-02 16:54:36 +08:00
committed by GitHub
parent 4827f42f56
commit e72acd5e5b
190 changed files with 1711 additions and 1481 deletions

View File

@@ -0,0 +1,51 @@
// 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 v1_11 //nolint
import (
"net/url"
"xorm.io/xorm"
)
func SanitizeOriginalURL(x *xorm.Engine) error {
type Repository struct {
ID int64
OriginalURL string `xorm:"VARCHAR(2048)"`
}
var last int
const batchSize = 50
for {
results := make([]Repository, 0, batchSize)
err := x.Where("original_url <> '' AND original_url IS NOT NULL").
And("original_service_type = 0 OR original_service_type IS NULL").
OrderBy("id").
Limit(batchSize, last).
Find(&results)
if err != nil {
return err
}
if len(results) == 0 {
break
}
last += len(results)
for _, res := range results {
u, err := url.Parse(res.OriginalURL)
if err != nil {
// it is ok to continue here, we only care about fixing URLs that we can read
continue
}
u.User = nil
originalURL := u.String()
_, err = x.Exec("UPDATE repository SET original_url = ? WHERE id = ?", originalURL, res.ID)
if err != nil {
return err
}
}
}
return nil
}