工具源地址
https://github.com/xxjwxc/gormt
下载安装:
go get -u -v github.com/xxjwxc/gormt
使用方法:
-
找到可执行的gormt文件,一般在gopath的bin目录下
-
在可执行文件所在目录下,新建配置文件config.yml,编辑内容,示例:
base: is_dev: false out_dir: ./model # 输出目录 url_tag: json # web url tag(json,db(https://github.com/google/go-querystring)) language: 中 文 # 语言(English,中 文) db_tag: gorm # 数据库标签(gorm,db) simple: true # 简单输出(默认gorm标签不输出) is_out_sql: false # 是否输出 sql 原信息 is_out_func: false # 是否输出 快捷函数 is_foreign_key: false # 是否导出外键关联 is_gui: false # 是否ui模式显示 is_table_name: false # 是否直接生成表名,列名 is_null_to_point: false # 数据库默认 'DEFAULT NULL' 时设置结构为指针类型 is_web_tag: true is_web_tag_pk_hidden: false table_prefix: "" #表前缀 table_names: "" #指定表生成,多个表用,隔开 is_column_name: false # 是否生成列名 is_out_file_by_table_name: false # 是否根据表名生成多个model db_info: host : 127.0.0.1 port : 3306 username : root password : 123456 database : test_db type: 0 # 数据库类型:0:mysql , 1:sqlite , 2:mssql self_type_define: # 自定义数据类型映射 datetime: time.Time date: time.Time out_file_name: "" # 自定义生成文件名 web_tag_type: 0 # json tag类型 0: 小驼峰 1: 下划线
-
config.yml文件中配置好相应的db_info信息
-
执行可执行文件gormt,无异常,即会在所在目录下生成model文件夹,里边就会有对应的数据库名,打开找到生成的模型,如
// UserInfos [...] type UserInfos struct { ID uint `gorm:"primaryKey;column:id" json:"id"` CreatedAt time.Time `gorm:"column:created_at" json:"createdAt"` UpdatedAt time.Time `gorm:"column:updated_at" json:"updatedAt"` DeletedAt time.Time `gorm:"column:deleted_at" json:"deletedAt"` Name string `gorm:"column:name" json:"name"` Telephone string `gorm:"column:telephone" json:"telephone"` Password string `gorm:"column:password" json:"password"` }