micro-account/pkg/model/migration.go
2025-02-20 16:18:23 +08:00

81 lines
1.8 KiB
Go

package model
import (
"fmt"
)
// 类型迁移
func migration() {
err := DB.AutoMigrate()
//err = DBOrder.AutoMigrate(
// &model.Pay{},
//)
if err != nil {
fmt.Println("register table fail")
panic(1)
}
//自动迁移模式
AddTable(&RefreshToken{})
AddTable(&LoginLog{})
AddTable(&User{})
AddTable(&RealName{})
//增加字段
AddColumn(&User{}, "title")
AddColumn(&User{}, "job_num")
AddColumn(&User{}, "birth_date")
AddColumn(&User{}, "sex")
AddColumn(&User{}, "operator")
AddColumn(&User{}, "last_login_date")
AddColumn(&User{}, "ip")
AddColumn(&User{}, "invitation_code")
AddColumn(&User{}, "english_name")
AddColumn(&User{}, "mail_account")
AddColumn(&LoginLog{}, "token")
AddColumn(&LoginLog{}, "status")
AddColumn(&LoginLog{}, "expire_date")
AddColumn(&LoginLog{}, "last_date")
AddColumn(&LoginLog{}, "logout_date")
AddColumn(&LoginLog{}, "address")
AddColumn(&LoginLog{}, "domain")
AddColumn(&LoginLog{}, "uuid")
AddColumn(&User{}, "domain")
AddColumn(&User{}, "left_date")
AddColumn(&User{}, "remark")
AddColumn(&User{}, "recent_img")
AddColumn(&RealName{}, "realid_img_a")
AddColumn(&RealName{}, "realid_img_b")
AddColumn(&RealName{}, "is_real")
AddColumn(&RealName{}, "video")
AddColumn(&User{}, "ic_num")
AddColumn(&User{}, "train")
AddColumn(&User{}, "certificate")
AddColumn(&User{}, "source")
AddColumn(&User{}, "security_code")
AddColumn(&User{}, "block_addr")
}
// 数据迁移
func AddColumn(dst interface{}, column string) {
if DB.Migrator().HasColumn(dst, column) == false {
if err := DB.Migrator().AddColumn(dst, column); err != nil {
fmt.Println(err)
}
}
}
func AddTable(dst interface{}) {
if DB.Migrator().HasTable(dst) == false {
if err := DB.Migrator().CreateTable(dst); err != nil {
fmt.Println(err)
return
}
}
return
}