diff options
author | zeripath <art27@cantab.net> | 2022-08-22 14:32:28 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-08-22 14:32:28 +0100 |
commit | 9d6a2034bcf0f62dadb51cfe1471632eaa52e36c (patch) | |
tree | 8157ec8bb4cc08d98ca9ce66b2bc998cefabb99f /models/migrations | |
parent | aedfc923addcb7aa013f96474e942951e3fda74c (diff) | |
download | gitea-9d6a2034bcf0f62dadb51cfe1471632eaa52e36c.tar.gz gitea-9d6a2034bcf0f62dadb51cfe1471632eaa52e36c.zip |
Increase Content field size of gpg_key and public_key to MEDIUMTEXT (#20896)
Unfortunately some keys are too big to fix within the 65535 limit of TEXT on MySQL
this causes issues with these large keys.
Therefore increase these fields to MEDIUMTEXT.
Fix #20894
Signed-off-by: Andrew Thornton <art27@cantab.net>
Diffstat (limited to 'models/migrations')
-rw-r--r-- | models/migrations/migrations.go | 7 | ||||
-rw-r--r-- | models/migrations/v224.go | 2 | ||||
-rw-r--r-- | models/migrations/v225.go | 29 |
3 files changed, 36 insertions, 2 deletions
diff --git a/models/migrations/migrations.go b/models/migrations/migrations.go index 30c4ad250c..28ffc99886 100644 --- a/models/migrations/migrations.go +++ b/models/migrations/migrations.go @@ -406,8 +406,13 @@ var migrations = []Migration{ NewMigration("Drop old CredentialID column", dropOldCredentialIDColumn), // v223 -> v224 NewMigration("Rename CredentialIDBytes column to CredentialID", renameCredentialIDBytes), + + // Gitea 1.17.0 ends at v224 + // v224 -> v225 - NewMigration("Add badges to users", creatUserBadgesTable), + NewMigration("Add badges to users", createUserBadgesTable), + // v225 -> v226 + NewMigration("Alter gpg_key/public_key content TEXT fields to MEDIUMTEXT", alterPublicGPGKeyContentFieldsToMediumText), } // GetCurrentDBVersion returns the current db version diff --git a/models/migrations/v224.go b/models/migrations/v224.go index d684d538df..2ed161ef4d 100644 --- a/models/migrations/v224.go +++ b/models/migrations/v224.go @@ -8,7 +8,7 @@ import ( "xorm.io/xorm" ) -func creatUserBadgesTable(x *xorm.Engine) error { +func createUserBadgesTable(x *xorm.Engine) error { type Badge struct { ID int64 `xorm:"pk autoincr"` Description string diff --git a/models/migrations/v225.go b/models/migrations/v225.go new file mode 100644 index 0000000000..6dd460eb68 --- /dev/null +++ b/models/migrations/v225.go @@ -0,0 +1,29 @@ +// Copyright 2022 The Gitea Authors. All rights reserved. +// Use of this source code is governed by a MIT-style +// license that can be found in the LICENSE file. + +package migrations + +import ( + "code.gitea.io/gitea/modules/setting" + + "xorm.io/xorm" +) + +func alterPublicGPGKeyContentFieldsToMediumText(x *xorm.Engine) error { + sess := x.NewSession() + defer sess.Close() + if err := sess.Begin(); err != nil { + return err + } + + if setting.Database.UseMySQL { + if _, err := sess.Exec("ALTER TABLE `gpg_key` CHANGE `content` `content` MEDIUMTEXT"); err != nil { + return err + } + if _, err := sess.Exec("ALTER TABLE `public_key` CHANGE `content` `content` MEDIUMTEXT"); err != nil { + return err + } + } + return sess.Commit() +} |