[v12.0/forgejo] fix: abuse reports string data types (#8319)
**Backport:** https://codeberg.org/forgejo/forgejo/pulls/8267 Follow-up of !6977 I was fooled by the fact that for SQLite the columns corresponding to `string` fields were created as `TEXT`; but this is not the case for PostgreSQL and MariaDB/MySQL. According to XORM default mapping rules[^1] _String is corresponding to varchar(255)_. Therefore `abuse_report`.`remarks` should be of type `VARCHAR(500)` and `abuse_report_shadow_copy`.`raw_value` of type `LONGTEXT`. ### Testing I have dropped the affected columns (or the entire tables) and checked that for PostgreSQL and MariaDB they are created with the correct type and also manually tested the abusive content reporting functionality in order to make sure that no DB error will be returned if for 'Remarks' a text longer than 255 characters is submitted or when a (big) shadow copy is created. [^1]: https://xorm.io/docs/chapter-02/4.columns/ Co-authored-by: floss4good <floss4good@disroot.org> Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/8319 Reviewed-by: Gusted <gusted@noreply.codeberg.org> Co-authored-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org> Co-committed-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
This commit is contained in:
		
					parent
					
						
							
								5f88d15a63
							
						
					
				
			
			
				commit
				
					
						faff8f7c67
					
				
			
		
					 2 changed files with 2 additions and 2 deletions
				
			
		| 
						 | 
				
			
			@ -100,7 +100,7 @@ type AbuseReport struct {
 | 
			
		|||
	// The abuse category selected by the reporter.
 | 
			
		||||
	Category AbuseCategoryType `xorm:"INDEX NOT NULL"`
 | 
			
		||||
	// Remarks provided by the reporter.
 | 
			
		||||
	Remarks string
 | 
			
		||||
	Remarks string `xorm:"VARCHAR(500)"`
 | 
			
		||||
	// The ID of the corresponding shadow-copied content when exists; otherwise null.
 | 
			
		||||
	ShadowCopyID sql.NullInt64      `xorm:"DEFAULT NULL"`
 | 
			
		||||
	CreatedUnix  timeutil.TimeStamp `xorm:"created NOT NULL"`
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -17,7 +17,7 @@ import (
 | 
			
		|||
 | 
			
		||||
type AbuseReportShadowCopy struct {
 | 
			
		||||
	ID          int64              `xorm:"pk autoincr"`
 | 
			
		||||
	RawValue    string             `xorm:"NOT NULL"`
 | 
			
		||||
	RawValue    string             `xorm:"LONGTEXT NOT NULL"` // A JSON with relevant fields from user, repository, issue or comment table.
 | 
			
		||||
	CreatedUnix timeutil.TimeStamp `xorm:"created NOT NULL"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue