diff --git a/model/account.go b/model/account.go index f8e18911..dc44c69c 100644 --- a/model/account.go +++ b/model/account.go @@ -159,7 +159,7 @@ func GetAccountById(id uint) (*Account, error) { func GetAccountFiles() ([]File, error) { files := make([]File, 0) var accounts []Account - if err := conf.DB.Order("`index`").Find(&accounts).Error; err != nil { + if err := conf.DB.Order(columnName("index")).Find(&accounts).Error; err != nil { return nil, err } for _, v := range accounts { @@ -179,7 +179,7 @@ func GetAccountFiles() ([]File, error) { func GetAccounts() ([]Account, error) { var accounts []Account - if err := conf.DB.Order("`index`").Find(&accounts).Error; err != nil { + if err := conf.DB.Order(columnName("index")).Find(&accounts).Error; err != nil { return nil, err } return accounts, nil diff --git a/model/setting.go b/model/setting.go index 8c9fe892..2bfc11d5 100644 --- a/model/setting.go +++ b/model/setting.go @@ -50,7 +50,7 @@ func SaveSetting(item SettingItem) error { func GetSettingsPublic() ([]SettingItem, error) { var items []SettingItem - if err := conf.DB.Where("`access` <> ?", 1).Find(&items).Error; err != nil { + if err := conf.DB.Where(fmt.Sprintf("%s <> ?", columnName("access")), 1).Find(&items).Error; err != nil { return nil, err } return items, nil @@ -58,7 +58,7 @@ func GetSettingsPublic() ([]SettingItem, error) { func GetSettingsByGroup(group int) ([]SettingItem, error) { var items []SettingItem - if err := conf.DB.Where("`group` = ?", group).Find(&items).Error; err != nil { + if err := conf.DB.Where(fmt.Sprintf("%s = ?", columnName("group")), group).Find(&items).Error; err != nil { return nil, err } items = append([]SettingItem{Version}, items...) @@ -82,7 +82,7 @@ func DeleteSetting(key string) error { func GetSettingByKey(key string) (*SettingItem, error) { var items SettingItem - if err := conf.DB.Where("`key` = ?", key).First(&items).Error; err != nil { + if err := conf.DB.Where(fmt.Sprintf("%s = ?", columnName("key")), key).First(&items).Error; err != nil { return nil, err } return &items, nil diff --git a/model/util.go b/model/util.go new file mode 100644 index 00000000..8852ae35 --- /dev/null +++ b/model/util.go @@ -0,0 +1,13 @@ +package model + +import ( + "fmt" + "github.com/Xhofe/alist/conf" +) + +func columnName(name string) string { + if conf.Conf.Database.Type == "postgres" { + return fmt.Sprintf(`"%s"`, name) + } + return fmt.Sprintf("`%s`", name) +}