1 Star 0 Fork 0

z1gotool / gorm2mysql

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
main.go 3.22 KB
一键复制 编辑 原始数据 按行查看 历史
myzero1 提交于 2023-07-19 21:42 . replace sqlmock by sqlite
package main
import (
"log"
"gitee.com/z1gotool/gorm2mysql"
"gitee.com/z1gotool/gorm2sqlite"
"gitee.com/z1gotool/z1err"
"gorm.io/gorm"
)
func main() {
// https://github.com/go-gorm/gorm/issues/3565
// https://juejin.cn/post/7131258433948352520
var db *gorm.DB
if true { // sqlite
// sqliteFile := `z1sqlite.db`
sqliteFile := `:memory:`
dbTmp, err := gorm2sqlite.NewDB(sqliteFile, gorm.Config{})
z1err.Check(err)
db = dbTmp
}
if false { // mysql
dbTmp, err := gorm2mysql.NewDB(
gorm2mysql.DatabaseSetting{
UserName: `root`,
Password: ``,
Host: `127.0.0.1`,
DBName: `esb`,
Charset: `utf8`,
ParseTime: true,
},
gorm.Config{},
)
z1err.Check(err)
db = dbTmp
}
db.AutoMigrate(&User{})
user := User{}
txSql := db.Session(&gorm.Session{DryRun: false}).Debug().Model(&user).Where(`id=111`).Find(&user)
log.Println(`-------View the SQL that Gorm will execute---------`, db.Dialector.Explain(
txSql.Statement.SQL.String(),
txSql.Statement.Vars...,
))
// _ = gormDB
}
type User struct {
// gorm.Z1Model
ID int64 `gorm:"column:id;primarykey" json:"id" bson:"id"`
CreatedAt int64 `gorm:"column:created_at;not null" json:"created_at" bson:"created_at"`
UpdatedAt int64 `gorm:"column:updated_at;not null" json:"updated_at" bson:"updated_at"`
// ----------------
Username string `gorm:"column:username;NOT NULL" json:"username" bson:"username"` // 账号名称
Password string `gorm:"column:password;NOT NULL" json:"password" bson:"password"` // 加密后的密码
RoleID int64 `gorm:"column:role_id;default:0;NOT NULL" json:"role_id" bson:"role_id"` // 角色id
Name string `gorm:"column:name;NOT NULL" json:"name" bson:"name"` // 用户名
Status int64 `gorm:"column:status;default:1;NOT NULL" json:"status" bson:"status"` // 用户状态:1正常,2禁用
Type int64 `gorm:"column:type;default:2;NOT NULL" json:"type" bson:"type"` // 管理员类型 1-超级管理员 2-普通管理员
Usbkey int64 `gorm:"column:usbkey;default:0;NOT NULL" json:"usbkey" bson:"usbkey"` // usbkey id
Keyuid string `gorm:"column:keyuid;NOT NULL" json:"keyuid" bson:"keyuid"` // 设备唯一硬件 ID
Keypwd string `gorm:"column:keypwd;NOT NULL" json:"keypwd" bson:"keypwd"` // 设备密码
ServerSeed string `gorm:"column:server_seed;NOT NULL" json:"server_seed" bson:"server_seed"` // 种子码
MobilePhone string `gorm:"column:mobile_phone" json:"mobile_phone" bson:"mobile_phone"` // 手机号码
Cid string `gorm:"column:cid" json:"cid" bson:"cid"` // 18位身份证号
MobileLogin int64 `gorm:"column:mobile_login;default:0" json:"mobile_login" bson:"mobile_login"` // 使用手机验证码登录---1允许2不允许
ApiToken string `gorm:"column:api_token;NOT NULL" json:"api_token" bson:"api_token"` // 接口token
Extend string `gorm:"column:extend" json:"extend" bson:"extend"` // 扩展字段为json
PlaceID int64 `gorm:"column:place_id;default:0;NOT NULL" json:"place_id" bson:"place_id"` // 场所id
}
Go
1
https://gitee.com/z1gotool/gorm2mysql.git
git@gitee.com:z1gotool/gorm2mysql.git
z1gotool
gorm2mysql
gorm2mysql
v1.4.2

搜索帮助