* Alter issue/comment table TEXT fields to LONGTEXT * Use If not Switch Co-authored-by: zeripath <art27@cantab.net>tags/v1.16.0-rc1
@@ -36,7 +36,7 @@ type Issue struct { | |||
OriginalAuthor string | |||
OriginalAuthorID int64 `xorm:"index"` | |||
Title string `xorm:"name"` | |||
Content string `xorm:"TEXT"` | |||
Content string `xorm:"LONGTEXT"` | |||
RenderedContent string `xorm:"-"` | |||
Labels []*Label `xorm:"-"` | |||
MilestoneID int64 `xorm:"INDEX"` |
@@ -155,12 +155,12 @@ type Comment struct { | |||
CommitID int64 | |||
Line int64 // - previous line / + proposed line | |||
TreePath string | |||
Content string `xorm:"TEXT"` | |||
Content string `xorm:"LONGTEXT"` | |||
RenderedContent string `xorm:"-"` | |||
// Path represents the 4 lines of code cemented by this comment | |||
Patch string `xorm:"-"` | |||
PatchQuoted string `xorm:"TEXT patch"` | |||
PatchQuoted string `xorm:"LONGTEXT patch"` | |||
CreatedUnix timeutil.TimeStamp `xorm:"INDEX created"` | |||
UpdatedUnix timeutil.TimeStamp `xorm:"INDEX updated"` |
@@ -334,6 +334,8 @@ var migrations = []Migration{ | |||
NewMigration("Unwrap ldap.Sources", unwrapLDAPSourceCfg), | |||
// v190 -> v191 | |||
NewMigration("Add agit flow pull request support", addAgitFlowPullRequest), | |||
// v191 -> v192 | |||
NewMigration("Alter issue/comment table TEXT fields to LONGTEXT", alterIssueAndCommentTextFieldsToLongText), | |||
} | |||
// GetCurrentDBVersion returns the current db version |
@@ -0,0 +1,29 @@ | |||
// Copyright 2021 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 alterIssueAndCommentTextFieldsToLongText(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 `issue` CHANGE `content` `content` LONGTEXT"); err != nil { | |||
return err | |||
} | |||
if _, err := sess.Exec("ALTER TABLE `comment` CHANGE `content` `content` LONGTEXT, CHANGE `patch` `patch` LONGTEXT"); err != nil { | |||
return err | |||
} | |||
} | |||
return sess.Commit() | |||
} |