fix: gorm bug for sqlite migrate

- Update dependencies in go.mod
- Update specifications for User struct fields in model/user.go
This commit is contained in:
Laisky.Cai
2023-12-12 07:47:57 +00:00
parent 8d8fdaa2af
commit a75c64f55f
4 changed files with 76 additions and 488 deletions

View File

@@ -11,21 +11,21 @@ import (
// User if you add sensitive fields, don't forget to clean them in setupLogin function.
// Otherwise, the sensitive information will be saved on local storage in plain text!
type User struct {
Id int `json:"id"`
Username string `json:"username" gorm:"unique;index" validate:"max=12"`
Password string `json:"password" gorm:"not null;" validate:"min=8,max=20"`
DisplayName string `json:"display_name" gorm:"index" validate:"max=20"`
Role int `json:"role" gorm:"type:int;default:1"` // admin, common
Status int `json:"status" gorm:"type:int;default:1"` // enabled, disabled
Email string `json:"email" gorm:"index" validate:"max=50"`
Id int `json:"id" gorm:"column:id;primaryKey;autoIncrement"`
Username string `json:"username" gorm:"column:username;unique;index" validate:"max=12"`
Password string `json:"password" gorm:"column:password;not null;" validate:"min=8,max=20"`
DisplayName string `json:"display_name" gorm:"column:display_name;index" validate:"max=20"`
Role int `json:"role" gorm:"column:role;type:int;default:1"` // admin, common
Status int `json:"status" gorm:"column:status;type:int;default:1"` // enabled, disabled
Email string `json:"email" gorm:"column:email;index" validate:"max=50"`
GitHubId string `json:"github_id" gorm:"column:github_id;index"`
WeChatId string `json:"wechat_id" gorm:"column:wechat_id;index"`
VerificationCode string `json:"verification_code" gorm:"-:all"` // this field is only for Email verification, don't save it to database!
AccessToken string `json:"access_token" gorm:"type:char(32);column:access_token;uniqueIndex"` // this token is for system management
Quota int `json:"quota" gorm:"type:int;default:0"`
UsedQuota int `json:"used_quota" gorm:"type:int;default:0;column:used_quota"` // used quota
RequestCount int `json:"request_count" gorm:"type:int;default:0;"` // request number
Group string `json:"group" gorm:"type:varchar(32);default:'default'"`
Quota int `json:"quota" gorm:"column:quota;type:int;default:0"`
UsedQuota int `json:"used_quota" gorm:"type:int;default:0;column:used_quota"` // used quota
RequestCount int `json:"request_count" gorm:"column:request_count;type:int;default:0;"` // request number
Group string `json:"group" gorm:"column:group;type:varchar(32);default:'default'"`
AffCode string `json:"aff_code" gorm:"type:varchar(32);column:aff_code;uniqueIndex"`
InviterId int `json:"inviter_id" gorm:"type:int;column:inviter_id;index"`
}