From 84c1b92899291146715fcca4a211a591078df5c5 Mon Sep 17 00:00:00 2001 From: qwerty287 <80460567+qwerty287@users.noreply.github.com> Date: Sat, 14 Sep 2024 14:41:14 +0300 Subject: [PATCH] Fix migration registries table (#4111) --- .../migration/031_unify_columns_tables.go | 4 +++ .../migration/035_fix_v31_registries.go | 35 +++++++++++++++++++ server/store/datastore/migration/migration.go | 1 + 3 files changed, 40 insertions(+) create mode 100644 server/store/datastore/migration/035_fix_v31_registries.go diff --git a/server/store/datastore/migration/031_unify_columns_tables.go b/server/store/datastore/migration/031_unify_columns_tables.go index 881832b0f..16fd0e192 100644 --- a/server/store/datastore/migration/031_unify_columns_tables.go +++ b/server/store/datastore/migration/031_unify_columns_tables.go @@ -113,6 +113,10 @@ type registryV031 struct { Password string `xorm:"TEXT 'registry_password'"` } +func (registryV031) TableName() string { + return "registry" +} + type repoV031 struct { ID int64 `xorm:"pk autoincr 'repo_id'"` UserID int64 `xorm:"repo_user_id"` diff --git a/server/store/datastore/migration/035_fix_v31_registries.go b/server/store/datastore/migration/035_fix_v31_registries.go new file mode 100644 index 000000000..988e49541 --- /dev/null +++ b/server/store/datastore/migration/035_fix_v31_registries.go @@ -0,0 +1,35 @@ +// Copyright 2024 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 fixV31Registries = xormigrate.Migration{ + ID: "fix-v31-registries", + MigrateSession: func(sess *xorm.Session) (err error) { + has, err := sess.IsTableExist("registry_v031") + if err != nil { + return err + } + if has { + return sess.DropTable("registry_v031") + } + + return nil + }, +} diff --git a/server/store/datastore/migration/migration.go b/server/store/datastore/migration/migration.go index da9b1f732..48fc3c5ea 100644 --- a/server/store/datastore/migration/migration.go +++ b/server/store/datastore/migration/migration.go @@ -65,6 +65,7 @@ var migrationTasks = []*xormigrate.Migration{ &alterTableRegistriesFixRequiredFields, &cronWithoutSec, &renameStartEndTime, + &fixV31Registries, } var allBeans = []any{