mirror of
https://codeberg.org/forgejo/forgejo
synced 2024-11-24 10:46:10 +01:00
2bc226eb57
Gitea and Forgejo chose to implement wiki branch naming differently, but Forgejo picked the Gitea migration anyway, resulting in an unused column in the database, which wasn't part of the `Repository` struct either - something warned about during startup, too. Similarly, Forgejo chose not to implement User badges at all - but kept the existing code for it -, and the `badge` table ended up with an unused `slug` column due to a Gitea migration, and resulted in another warning at startup. To keep the database consistent with the code, and to get rid of these warnings, lets introduce a new migration, which simply drops these Gitea-specific columns from the database. Fixes #3463. Signed-off-by: Gergely Nagy <forgejo@gergo.csillger.hu>
44 lines
936 B
Go
44 lines
936 B
Go
// Copyright 2024 The Forgejo Authors. All rights reserved.
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
package forgejo_migrations //nolint:revive
|
|
|
|
import (
|
|
"code.gitea.io/gitea/models/migrations/base"
|
|
|
|
"xorm.io/xorm"
|
|
)
|
|
|
|
func RemoveGiteaSpecificColumnsFromRepositoryAndBadge(x *xorm.Engine) error {
|
|
// Make sure the columns exist before dropping them
|
|
type Repository struct {
|
|
ID int64
|
|
DefaultWikiBranch string
|
|
}
|
|
if err := x.Sync(&Repository{}); err != nil {
|
|
return err
|
|
}
|
|
|
|
type Badge struct {
|
|
ID int64 `xorm:"pk autoincr"`
|
|
Slug string
|
|
}
|
|
err := x.Sync(new(Badge))
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
sess := x.NewSession()
|
|
defer sess.Close()
|
|
if err := sess.Begin(); err != nil {
|
|
return err
|
|
}
|
|
if err := base.DropTableColumns(sess, "repository", "default_wiki_branch"); err != nil {
|
|
return err
|
|
}
|
|
if err := base.DropTableColumns(sess, "badge", "slug"); err != nil {
|
|
return err
|
|
}
|
|
return sess.Commit()
|
|
}
|