mirror of
				https://github.com/go-gitea/gitea
				synced 2025-09-28 03:28:13 +00:00 
			
		
		
		
	This PR reduces the complexity of the system setting system. It only needs one line to introduce a new option, and the option can be used anywhere out-of-box. It is still high-performant (and more performant) because the config values are cached in the config system.
		
			
				
	
	
		
			24 lines
		
	
	
		
			677 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			24 lines
		
	
	
		
			677 B
		
	
	
	
		
			Go
		
	
	
	
	
	
| // Copyright 2022 The Gitea Authors. All rights reserved.
 | |
| // SPDX-License-Identifier: MIT
 | |
| 
 | |
| package v1_18 //nolint
 | |
| 
 | |
| import (
 | |
| 	"code.gitea.io/gitea/modules/timeutil"
 | |
| 
 | |
| 	"xorm.io/xorm"
 | |
| )
 | |
| 
 | |
| type SystemSetting struct {
 | |
| 	ID           int64              `xorm:"pk autoincr"`
 | |
| 	SettingKey   string             `xorm:"varchar(255) unique"` // ensure key is always lowercase
 | |
| 	SettingValue string             `xorm:"text"`
 | |
| 	Version      int                `xorm:"version"` // prevent to override
 | |
| 	Created      timeutil.TimeStamp `xorm:"created"`
 | |
| 	Updated      timeutil.TimeStamp `xorm:"updated"`
 | |
| }
 | |
| 
 | |
| func CreateSystemSettingsTable(x *xorm.Engine) error {
 | |
| 	return x.Sync(new(SystemSetting))
 | |
| }
 |