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 @ 2022-03-16 15:22  浮尘微光  阅读(745)  评论(0编辑  收藏  举报