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"` }