fix: pg sql error #67

This commit is contained in:
engigu
2026-03-25 20:43:52 +08:00
parent e84a8f0d58
commit 6c8aba2327
4 changed files with 12 additions and 12 deletions
+2 -2
View File
@@ -417,7 +417,7 @@ func (s *BackupService) addDirToZip(zipWriter *zip.Writer, srcDir, prefix string
func (s *BackupService) GetBackupFile() string {
var setting models.Setting
res := database.DB.Where("section = ? AND `key` = ?", BackupSection, BackupFileKey).Limit(1).Find(&setting)
res := database.DB.Where(&models.Setting{Section: BackupSection, Key: BackupFileKey}).Limit(1).Find(&setting)
if res.Error != nil || res.RowsAffected == 0 {
return ""
}
@@ -428,7 +428,7 @@ func (s *BackupService) ClearBackup() error {
filePath := s.GetBackupFile()
if filePath != "" {
os.Remove(filePath)
database.DB.Where("section = ? AND `key` = ?", BackupSection, BackupFileKey).Delete(&models.Setting{})
database.DB.Where(&models.Setting{Section: BackupSection, Key: BackupFileKey}).Delete(&models.Setting{})
}
return nil
}
+2 -2
View File
@@ -81,7 +81,7 @@ func RunMigrationV3() error {
// 0. 检查迁移标记,防止重复迁移逻辑被误判触发
if db.Migrator().HasTable(&models.Setting{}) {
var migrationFlag models.Setting
res := db.Where("section = ? AND `key` = ?", "system", "migration_v3_success").Limit(1).Find(&migrationFlag)
res := db.Where(&models.Setting{Section: "system", Key: "migration_v3_success"}).Limit(1).Find(&migrationFlag)
if res.Error == nil && res.RowsAffected > 0 && migrationFlag.Value == "true" {
// 如果已经是字符串 ID 模式,双重确认
logger.Info("[MigrationV3] 系统已处于 V3 模式,跳过检查")
@@ -151,7 +151,7 @@ func markMigrationSuccess(db *gorm.DB) error {
return nil
}
var flag models.Setting
res := db.Where("section = ? AND `key` = ?", "system", "migration_v3_success").Limit(1).Find(&flag)
res := db.Where(&models.Setting{Section: "system", Key: "migration_v3_success"}).Limit(1).Find(&flag)
if res.Error != nil || res.RowsAffected == 0 {
// 创建或更新
flag = models.Setting{
+6 -6
View File
@@ -22,7 +22,7 @@ func (s *SettingsService) InitSettings() error {
for section, keys := range constant.DefaultSettings {
for key, value := range keys {
var count int64
database.DB.Model(&models.Setting{}).Where("section = ? AND `key` = ?", section, key).Count(&count)
database.DB.Model(&models.Setting{}).Where(&models.Setting{Section: section, Key: key}).Count(&count)
if count == 0 {
if err := database.DB.Create(&models.Setting{
ID: utils.GenerateID(),
@@ -81,7 +81,7 @@ func (s *SettingsService) InitSettings() error {
for k, v := range defaultRetention {
var count int64
database.DB.Model(&models.Setting{}).Where("section = ? AND `key` = ?", constant.SectionSystem, k).Count(&count)
database.DB.Model(&models.Setting{}).Where(&models.Setting{Section: constant.SectionSystem, Key: k}).Count(&count)
if count == 0 {
s.Set(constant.SectionSystem, k, v)
}
@@ -89,7 +89,7 @@ func (s *SettingsService) InitSettings() error {
// 初始化或获取 JWT Secret 密码
var secCount int64
database.DB.Model(&models.Setting{}).Where("section = ? AND `key` = ?", constant.SectionSecurity, constant.KeySecret).Count(&secCount)
database.DB.Model(&models.Setting{}).Where(&models.Setting{Section: constant.SectionSecurity, Key: constant.KeySecret}).Count(&secCount)
var secretValue string
if secCount == 0 {
// 先尝试从配置文件读取遗留下来的旧设
@@ -121,7 +121,7 @@ func (s *SettingsService) Get(section, key string) string {
return cache.GetSiteCache(key)
}
var setting models.Setting
res := database.DB.Where("section = ? AND `key` = ?", section, key).Limit(1).Find(&setting)
res := database.DB.Where(&models.Setting{Section: section, Key: key}).Limit(1).Find(&setting)
if res.Error != nil || res.RowsAffected == 0 {
if def, ok := constant.DefaultSettings[section][key]; ok {
return def
@@ -134,7 +134,7 @@ func (s *SettingsService) Get(section, key string) string {
// Set 设置单个值
func (s *SettingsService) Set(section, key, value string) error {
var setting models.Setting
res := database.DB.Where("section = ? AND `key` = ?", section, key).Limit(1).Find(&setting)
res := database.DB.Where(&models.Setting{Section: section, Key: key}).Limit(1).Find(&setting)
if res.Error != nil || res.RowsAffected == 0 {
return database.DB.Create(&models.Setting{
ID: utils.GenerateID(),
@@ -148,7 +148,7 @@ func (s *SettingsService) Set(section, key, value string) error {
// Delete 删除单个设置
func (s *SettingsService) Delete(section, key string) error {
return database.DB.Where("section = ? AND `key` = ?", section, key).Delete(&models.Setting{}).Error
return database.DB.Where(&models.Setting{Section: section, Key: key}).Delete(&models.Setting{}).Error
}
// GetSection 获取整个 section 的设置