From aa0c7fab21cc5f419849b3334ed21366fcfc0c66 Mon Sep 17 00:00:00 2001 From: Michael Jerger Date: Wed, 2 Apr 2025 17:56:48 +0200 Subject: [PATCH] move migrations to aprop place --- models/forgefed/federationhost.go | 4 ++-- models/forgejo_migrations/migrate.go | 2 ++ .../v305.go => forgejo_migrations/v29.go} | 19 ++++++++++++++++--- .../v29_test.go} | 6 +++--- models/migrations/migrations.go | 2 -- 5 files changed, 23 insertions(+), 10 deletions(-) rename models/{migrations/v1_23/v305.go => forgejo_migrations/v29.go} (67%) rename models/{migrations/v1_23/v305_test.go => forgejo_migrations/v29_test.go} (94%) diff --git a/models/forgefed/federationhost.go b/models/forgefed/federationhost.go index e973fde705..4806da78de 100644 --- a/models/forgefed/federationhost.go +++ b/models/forgefed/federationhost.go @@ -18,8 +18,8 @@ type FederationHost struct { ID int64 `xorm:"pk autoincr"` HostFqdn string `xorm:"host_fqdn UNIQUE INDEX VARCHAR(255) NOT NULL"` NodeInfo NodeInfo `xorm:"extends NOT NULL"` - HostPort string `xorm:"NOT NULL"` - HostSchema string `xorm:"NOT NULL"` + HostPort string `xorm:"NOT NULL DEFAULT '443'"` + HostSchema string `xorm:"NOT NULL DEFAULT 'https'"` LatestActivity time.Time `xorm:"NOT NULL"` Created timeutil.TimeStamp `xorm:"created"` Updated timeutil.TimeStamp `xorm:"updated"` diff --git a/models/forgejo_migrations/migrate.go b/models/forgejo_migrations/migrate.go index a4cbca70c1..e5a9a17924 100644 --- a/models/forgejo_migrations/migrate.go +++ b/models/forgejo_migrations/migrate.go @@ -94,6 +94,8 @@ var migrations = []*Migration{ NewMigration("Add `created_unix` column to `user_redirect` table", AddCreatedUnixToRedirect), // v27 -> v28 NewMigration("Add pronoun privacy settings to user", AddHidePronounsOptionToUser), + // v28 -> v29 + NewMigration("Migrate `User.NormalizedFederatedURI` column to extract port & schema into FederatedHost", MigrateNormalizedFederatedURI), } // GetCurrentDBVersion returns the current Forgejo database version. diff --git a/models/migrations/v1_23/v305.go b/models/forgejo_migrations/v29.go similarity index 67% rename from models/migrations/v1_23/v305.go rename to models/forgejo_migrations/v29.go index ff2c1a4189..2295532611 100644 --- a/models/migrations/v1_23/v305.go +++ b/models/forgejo_migrations/v29.go @@ -1,10 +1,13 @@ // Copyright 2025 The Forgejo Authors. All rights reserved. // SPDX-License-Identifier: MIT -package v1_23 //nolint +package forgejo_migrations //nolint:revive import ( - "code.gitea.io/gitea/models/migrations/base" + "time" + + "forgejo.org/models/migrations/base" + "forgejo.org/modules/timeutil" "xorm.io/xorm" ) @@ -20,8 +23,18 @@ func MigrateNormalizedFederatedURI(x *xorm.Engine) error { type User struct { NormalizedFederatedURI string } + type FederationHost struct { + ID int64 `xorm:"pk autoincr"` + HostFqdn string `xorm:"host_fqdn UNIQUE INDEX VARCHAR(255) NOT NULL"` + NodeInfo NodeInfo `xorm:"extends NOT NULL"` + HostPort string `xorm:"NOT NULL DEFAULT '443'"` + HostSchema string `xorm:"NOT NULL DEFAULT 'https'"` + LatestActivity time.Time `xorm:"NOT NULL"` + Created timeutil.TimeStamp `xorm:"created"` + Updated timeutil.TimeStamp `xorm:"updated"` + } // TODO: add new fields to FederationHost - if err := x.Sync(new(User), new(FederatedUser)); err != nil { + if err := x.Sync(new(User), new(FederatedUser), new(FederationHost)); err != nil { return err } diff --git a/models/migrations/v1_23/v305_test.go b/models/forgejo_migrations/v29_test.go similarity index 94% rename from models/migrations/v1_23/v305_test.go rename to models/forgejo_migrations/v29_test.go index f87a10b6a5..ae2a09dcbd 100644 --- a/models/migrations/v1_23/v305_test.go +++ b/models/forgejo_migrations/v29_test.go @@ -1,14 +1,14 @@ // Copyright 2025 The Forgejo Authors. // SPDX-License-Identifier: GPL-3.0-or-later -package v1_23 //nolint +package forgejo_migrations //nolint:revive import ( "testing" "time" - migration_tests "code.gitea.io/gitea/models/migrations/test" - "code.gitea.io/gitea/modules/timeutil" + migration_tests "forgejo.org/models/migrations/test" + "forgejo.org/modules/timeutil" "github.com/stretchr/testify/require" "xorm.io/xorm/schemas" diff --git a/models/migrations/migrations.go b/models/migrations/migrations.go index 9653b0a091..aea9b593bd 100644 --- a/models/migrations/migrations.go +++ b/models/migrations/migrations.go @@ -367,8 +367,6 @@ func prepareMigrationTasks() []*migration { // Migration to Forgejo v10 newMigration(303, "Gitea last drop", v1_23.GiteaLastDrop), newMigration(304, "Migrate `secret` column to store keying material", forgejo_migrations.MigrateTwoFactorToKeying), - - newMigration(305, "Migrate `User.NormalizedFederatedURI` column to extract port & schema into FederatedHost", v1_23.MigrateNormalizedFederatedURI), } return preparedMigrations }