mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 16:40:24 +08:00 
			
		
		
		
	Alter issue/comment table TEXT fields to LONGTEXT (#16765)
* Alter issue/comment table TEXT fields to LONGTEXT * Use If not Switch Co-authored-by: zeripath <art27@cantab.net>
This commit is contained in:
		@@ -36,7 +36,7 @@ type Issue struct {
 | 
				
			|||||||
	OriginalAuthor   string
 | 
						OriginalAuthor   string
 | 
				
			||||||
	OriginalAuthorID int64      `xorm:"index"`
 | 
						OriginalAuthorID int64      `xorm:"index"`
 | 
				
			||||||
	Title            string     `xorm:"name"`
 | 
						Title            string     `xorm:"name"`
 | 
				
			||||||
	Content          string     `xorm:"TEXT"`
 | 
						Content          string     `xorm:"LONGTEXT"`
 | 
				
			||||||
	RenderedContent  string     `xorm:"-"`
 | 
						RenderedContent  string     `xorm:"-"`
 | 
				
			||||||
	Labels           []*Label   `xorm:"-"`
 | 
						Labels           []*Label   `xorm:"-"`
 | 
				
			||||||
	MilestoneID      int64      `xorm:"INDEX"`
 | 
						MilestoneID      int64      `xorm:"INDEX"`
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -155,12 +155,12 @@ type Comment struct {
 | 
				
			|||||||
	CommitID        int64
 | 
						CommitID        int64
 | 
				
			||||||
	Line            int64 // - previous line / + proposed line
 | 
						Line            int64 // - previous line / + proposed line
 | 
				
			||||||
	TreePath        string
 | 
						TreePath        string
 | 
				
			||||||
	Content         string `xorm:"TEXT"`
 | 
						Content         string `xorm:"LONGTEXT"`
 | 
				
			||||||
	RenderedContent string `xorm:"-"`
 | 
						RenderedContent string `xorm:"-"`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// Path represents the 4 lines of code cemented by this comment
 | 
						// Path represents the 4 lines of code cemented by this comment
 | 
				
			||||||
	Patch       string `xorm:"-"`
 | 
						Patch       string `xorm:"-"`
 | 
				
			||||||
	PatchQuoted string `xorm:"TEXT patch"`
 | 
						PatchQuoted string `xorm:"LONGTEXT patch"`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	CreatedUnix timeutil.TimeStamp `xorm:"INDEX created"`
 | 
						CreatedUnix timeutil.TimeStamp `xorm:"INDEX created"`
 | 
				
			||||||
	UpdatedUnix timeutil.TimeStamp `xorm:"INDEX updated"`
 | 
						UpdatedUnix timeutil.TimeStamp `xorm:"INDEX updated"`
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -334,6 +334,8 @@ var migrations = []Migration{
 | 
				
			|||||||
	NewMigration("Unwrap ldap.Sources", unwrapLDAPSourceCfg),
 | 
						NewMigration("Unwrap ldap.Sources", unwrapLDAPSourceCfg),
 | 
				
			||||||
	// v190 -> v191
 | 
						// v190 -> v191
 | 
				
			||||||
	NewMigration("Add agit flow pull request support", addAgitFlowPullRequest),
 | 
						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
 | 
					// GetCurrentDBVersion returns the current db version
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										29
									
								
								models/migrations/v191.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								models/migrations/v191.go
									
									
									
									
									
										Normal file
									
								
							@@ -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()
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
		Reference in New Issue
	
	Block a user