diff --git a/server/model/forge.go b/server/model/forge.go index d626b652d..f2b87bfc8 100644 --- a/server/model/forge.go +++ b/server/model/forge.go @@ -30,8 +30,8 @@ type Forge struct { ID int64 `json:"id" xorm:"pk autoincr 'id'"` Type ForgeType `json:"type" xorm:"VARCHAR(250)"` URL string `json:"url" xorm:"VARCHAR(500) 'url'"` - OAuthClientID string `json:"client,omitempty" xorm:"VARCHAR(250)"` - OAuthClientSecret string `json:"-" xorm:"VARCHAR(250)"` // do not expose client secret + OAuthClientID string `json:"client,omitempty" xorm:"VARCHAR(250) 'oauth_client_id'"` + OAuthClientSecret string `json:"-" xorm:"VARCHAR(250) 'oauth_client_secret'"` // do not expose client secret SkipVerify bool `json:"skip_verify,omitempty" xorm:"bool"` OAuthHost string `json:"oauth_host,omitempty" xorm:"VARCHAR(250) 'oauth_host'"` // public url for oauth if different from url AdditionalOptions map[string]any `json:"additional_options,omitempty" xorm:"json"` diff --git a/server/store/datastore/migration/027_fix_forge_columns.go b/server/store/datastore/migration/027_fix_forge_columns.go new file mode 100644 index 000000000..46fcc7a1b --- /dev/null +++ b/server/store/datastore/migration/027_fix_forge_columns.go @@ -0,0 +1,25 @@ +package migration + +import ( + "src.techknowlogick.com/xormigrate" + "xorm.io/xorm" +) + +var fixForgeColumns = xormigrate.Migration{ + ID: "fix-forge-columns", + MigrateSession: func(sess *xorm.Session) (err error) { + if err := renameColumn(sess, "forges", "o_auth_client_i_d", "oauth_client_id"); err != nil { + return err + } + if err := renameColumn(sess, "forges", "o_auth_client_secret", "oauth_client_secret"); err != nil { + return err + } + + // Drop client and client_secret columns if they still exist + if err := dropTableColumns(sess, "forges", "client", "client_secret"); err != nil { + return err + } + + return nil + }, +} diff --git a/server/store/datastore/migration/migration.go b/server/store/datastore/migration/migration.go index ea8d54ca7..e5e72ea78 100644 --- a/server/store/datastore/migration/migration.go +++ b/server/store/datastore/migration/migration.go @@ -54,6 +54,7 @@ var migrationTasks = []*xormigrate.Migration{ &removeRepoScm, &unsanitizeOrgAndUserNames, &replaceZeroForgeIDsInOrgs, + &fixForgeColumns, } var allBeans = []any{ diff --git a/server/store/datastore/migration/test-files/sqlite.db b/server/store/datastore/migration/test-files/sqlite.db index 731dfe5cd..02cd0e133 100644 Binary files a/server/store/datastore/migration/test-files/sqlite.db and b/server/store/datastore/migration/test-files/sqlite.db differ