2022年go xorm生成mysql的结构体

网上很多资源都说是 xorm reverse mysql "root:123456@tcp(127.0.0.1:3306)/users?charset=utf8" ./

执行后报错:2022/03/16 15:00:53 [Error] reverse.go:196 Unknown colType INT UNSIGNED

 

 

【参考】https://gobook.io/read/gitea.com/xorm/manual-zh-CN/chapter-13/index.html 

实际上原有的xorm 已经不能用了,现在要这么用:

go get xorm.io/reverse

然后进入到GOPATH下面的bin目录

 

 

 

vi custom.yml,用来配置连接数据库的信息:

复制代码
kind: reverse
name: users
source:
  database: mysql
  conn_str: 'root:123456@tcp(127.0.0.1:3306)/users?parseTime=true'
targets:
- type: codes
  language: golang
  output_dir: ./testoutput
复制代码

 

执行: ./reverse -f custom.yml

然后进入 testoutput/ 目录下,就生成好了models.go文件:

复制代码
package models

type UserInfo struct {
        Id         uint   `xorm:"not null pk autoincr comment('主键ID') UNSIGNED INT"`
        Name       string `xorm:"not null default '' comment('姓名') VARCHAR(50)"`
        Avatar     string `xorm:"not null default '' comment('头像') VARCHAR(255)"`
        Birthday   string `xorm:"not null default '' comment('出生日期') VARCHAR(50)"`
        Sex        int    `xorm:"not null default 0 comment('性别:0未知,1男,2女') TINYINT(1)"`
        City       string `xorm:"not null default '' comment('所在城市') VARCHAR(50)"`
        Introduce  string `xorm:"comment('自我介绍') TEXT"`
        Status     int    `xorm:"not null default 0 comment('状态:0正常,1禁用') TINYINT(1)"`
        CreateTime uint   `xorm:"not null default 0 comment('创建时间') UNSIGNED INT"`
        UpdateTime uint   `xorm:"not null default 0 comment('最后修改时间') UNSIGNED INT"`
        DeleteTime uint   `xorm:"not null default 0 comment('删除时间') UNSIGNED INT"`
}
复制代码

 

posted @   浮尘微光  阅读(771)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
历史上的今天:
2017-03-16 关于Apache配置虚拟主机后在局域网中让其他电脑访问
点击右上角即可分享
微信分享提示