From 780f8385783c7320f790dd48494b1119ed2a8d57 Mon Sep 17 00:00:00 2001 From: Robert Kaussow Date: Tue, 4 Mar 2025 07:56:52 +0100 Subject: [PATCH] Add migration to fix zero forge_id in orgs table (#4924) --- ...s-match.go => 018_fix_orgs_users_match.go} | 0 ..._set_new_defaults_for_require_approval.go} | 0 .../024_unsanitize_org_and_user_names.go | 2 +- .../migration/025_fix_zero_forge_id_ref.go | 28 +++++++++++++++++++ server/store/datastore/migration/migration.go | 3 +- 5 files changed, 31 insertions(+), 2 deletions(-) rename server/store/datastore/migration/{018_fix-orgs-users-match.go => 018_fix_orgs_users_match.go} (100%) rename server/store/datastore/migration/{022_set-new-defaults-for-require_approval.go => 022_set_new_defaults_for_require_approval.go} (100%) create mode 100644 server/store/datastore/migration/025_fix_zero_forge_id_ref.go diff --git a/server/store/datastore/migration/018_fix-orgs-users-match.go b/server/store/datastore/migration/018_fix_orgs_users_match.go similarity index 100% rename from server/store/datastore/migration/018_fix-orgs-users-match.go rename to server/store/datastore/migration/018_fix_orgs_users_match.go diff --git a/server/store/datastore/migration/022_set-new-defaults-for-require_approval.go b/server/store/datastore/migration/022_set_new_defaults_for_require_approval.go similarity index 100% rename from server/store/datastore/migration/022_set-new-defaults-for-require_approval.go rename to server/store/datastore/migration/022_set_new_defaults_for_require_approval.go diff --git a/server/store/datastore/migration/024_unsanitize_org_and_user_names.go b/server/store/datastore/migration/024_unsanitize_org_and_user_names.go index 495580fc3..13fb71471 100644 --- a/server/store/datastore/migration/024_unsanitize_org_and_user_names.go +++ b/server/store/datastore/migration/024_unsanitize_org_and_user_names.go @@ -22,7 +22,7 @@ import ( "xorm.io/xorm" ) -var unSanitizeOrgAndUserNames = xormigrate.Migration{ +var unsanitizeOrgAndUserNames = xormigrate.Migration{ ID: "unsanitize-org-and-user-names", MigrateSession: func(sess *xorm.Session) (err error) { type user struct { diff --git a/server/store/datastore/migration/025_fix_zero_forge_id_ref.go b/server/store/datastore/migration/025_fix_zero_forge_id_ref.go new file mode 100644 index 000000000..79b23346a --- /dev/null +++ b/server/store/datastore/migration/025_fix_zero_forge_id_ref.go @@ -0,0 +1,28 @@ +// Copyright 2025 Woodpecker Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package migration + +import ( + "src.techknowlogick.com/xormigrate" + "xorm.io/xorm" +) + +var replaceZeroForgeIDsInOrgs = xormigrate.Migration{ + ID: "replace-zero-forge-ids-in-orgs", + MigrateSession: func(sess *xorm.Session) (err error) { + _, err = sess.Exec("UPDATE orgs SET forge_id=1 WHERE forge_id=0;") + return err + }, +} diff --git a/server/store/datastore/migration/migration.go b/server/store/datastore/migration/migration.go index a42a5e33e..6d83f4667 100644 --- a/server/store/datastore/migration/migration.go +++ b/server/store/datastore/migration/migration.go @@ -52,7 +52,8 @@ var migrationTasks = []*xormigrate.Migration{ &renameTokenFields, &setNewDefaultsForRequireApproval, &removeRepoScm, - &unSanitizeOrgAndUserNames, + &unsanitizeOrgAndUserNames, + &replaceZeroForgeIDsInOrgs, } var allBeans = []any{