聊聊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

实际上原有的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"`
}

到此这篇关于go xorm生成mysql的结构体的文章就介绍到这了,更多相关go xorm结构体内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • golang xorm日志写入文件中的操作

    golang访问数据库记录SQL语句: 使用的包为: 1:github.com/arthurkiller/rollingwriter //写入日志包 2: github.com/go-xorm/xorm //xorm包 具体实现为: package main import ( "time" "github.com/arthurkiller/rollingwriter" _ "github.com/go-sql-driver/mysql" &quo

  • 在golang xorm中使用postgresql的json,array类型的操作

    xorm支持各种关系数据库,最近使用postgresql时,总是踩到一些坑,在此记录下解决方式. 在使用postgresql的array类型时,查询有点问题,xorm的官方文档给出重写的方式,但是不是很清晰: 官方文档链接:http://xorm.io/docs 也就是说碰到基础库不支持的类型,需要我们去重写ToDB.FromDB方法,废话不多说直接上代码: 比如int8[]类型,自定一个Int64Array type Int64Array []int64 func (s *Int64Array

  • go xorm框架的使用

    一.创建数据库连接 xorm支持单引擎和多引擎,多引擎的场景对于初学者来说,没有必要考虑,所以我们主要学习的是单引擎的数据库连接,为了方便检查SQL,需要启用打印功能,默认不开启 var engine *xorm.Engine func main() { var err error engine, err = xorm.NewEngine("mysql", "root:123456@tcp(127.0.0.1:3306)/myschool?charset=utf8"

  • 使用go xorm来操作mysql的方法实例

    在golang中要实现对数据库的操作, 一个比较好用的方式就是使用XORM,xorm是一个简单而强大的Go语言ORM库,通过它可以使数据库操作非常简便. 在xorm里面,可以同时存在多个ORM引擎,一个ORM引擎称为Engine,一个Engine一般只对应一个数据库. golang的连接池配置 这里初始化一个全局的xorm.Engine对象, xorm.Engine通过调用xorm.NewEngine生成在很多其他的API都需要传入该对象作为参数. 这里需要理解这里设定的3个参数的意义: Set

  • 聊聊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 实际上原有的xorm 已经不能用了,现在要这么用: go get xorm.io/reverse 然后进入到GOPATH下面的bin目录 vi custom.yml,

  • 用python生成mysql数据库结构文档

    最近因为项目原因需要编写数据库设计文档,但是由于数据表太多,手动编写耗费的时间太久,所以搞了一个简单的脚本快速生成数据库结构,保存到word文档中. 安装pymysql和document pip install pymysql pip install document 脚本 # -*- coding: utf-8 -*- import pymysql from docx import Document from docx.shared import Pt from docx.oxml.ns im

  • Go 使用xorm操作mysql详情

    目录 xorm 安装 生成数据结构 struct 使用 xorm xorm 官方介绍:xorm 是一个简单而强大的 Go 语言 ORM 库. 通过它可以使数据库操作非常简便. xorm 的目标并不是让你完全不去学习 SQL,我们认为 SQL 并不会为 ORM 所替代,但是 ORM 将可以解决绝大部分的简单 SQL 需求. xorm 支持两种风格的混用. xorm 还提供了工具,通过 reverse 命令根据数据库的表结构生成对应的 struct,省去了人工组织代码的工作,十分方便.官方地址:ht

  • Go 使用xorm操作mysql详情

    目录 xorm 安装 生成数据结构 struct 使用 xorm xorm 官方介绍:xorm 是一个简单而强大的 Go 语言 ORM 库. 通过它可以使数据库操作非常简便. xorm 的目标并不是让你完全不去学习 SQL,我们认为 SQL 并不会为 ORM 所替代,但是 ORM 将可以解决绝大部分的简单 SQL 需求. xorm 支持两种风格的混用. xorm 还提供了工具,通过 reverse 命令根据数据库的表结构生成对应的 struct,省去了人工组织代码的工作,十分方便.官方地址:ht

  • Python3自动生成MySQL数据字典的markdown文本的实现

    为啥要写这个脚本 五一前的准备下班的时候,看到同事为了做数据库的某个表的数据字典,在做一个复杂的人工操作,就是一个字段一个字段的纯手撸,那速度可想而知是多么的折磨和锻炼人的意志和耐心,反正就是很耗时又费力的活,关键是工作效率太低了,于是就网上查了一下,能否有在线工具可用,但是并没有找到理想和如意的,于是吧,就干脆自己撸一个,一劳永逸,说干就干的那种-- 先屡一下脚本思路 第一步:输入或修改数据库连接配置信息,以及输入数据表名 第二步:利用pymysql模块连接数据库,并判断数据表是否存在 第三步

  • 浅谈mysql 树形结构表设计与优化

    前言 在诸多的管理类,办公类等系统中,树形结构展示随处可见,以"部门"或"机构"来说,接触过的同学应该都知道,最终展示到页面的效果就是层级结构的那种,下图随机列举了一个部门的树型结构展示图 设计考虑因素 1.表结构设计 稍稍有点开发和表结构设计经验的同学,设计出这样一张表,应该很容易,只需要在depart表中,添加一个pid/字段即可满足要求,参考下表: CREATE TABLE `depart` ( `depart_id` varchar(32) NOT NULL

  • 一文教你快速生成MySQL数据库关系图

    目录 需求描述: 需求分析: 技术方案: 解决方案: 总结 需求描述: 在公司老旧系统里,数据库表很多,但是在设计之初并没有建立好关系图,导致新人刚入职,面对N个库,每个库几百张表,很不方便. 例如:公司某一个系统的库有三百张表,在不熟悉项目的情况下,打开数据库看到一列列的表,很不清晰,对新入职同事很不友好. 需求分析: 我们一个系统里,可能有很多个模块,例如商城系统中有商品模块.券模块.店铺模块等,没个模块都有几十张表,每个模块需要生成如下关系图:(吐槽一下,Navicat逆向的图没Power

  • MySQL数据库结构和数据的导出和导入

    正在看的db2教程是:MySQL数据库结构和数据的导出和导入. 导出要用到MySQL的mysqldump工具,基本用法是: shell> mysqldump [OPTIONS] database [tables] 如果你不给定任何表,整个数据库将被导出. 通过执行mysqldump --help,你能得到你mysqldump的版本支持的选项表. 注意,如果你运行mysqldump没有--quick或--opt选项,mysqldump将在导出结果前装载整个结果集到内存中,如果你正在导出一个大的数据

  • PHP实现的通过参数生成MYSQL语句类完整实例

    本文实例讲述了PHP实现的通过参数生成MYSQL语句类.分享给大家供大家参考,具体如下: 这个类可以通过指定的表和字段参数创建SELECT ,INSERT , UPDATE 和 DELETE 语句. 这个类可以创建SQL语句的WHERE条件,像LIKE的查询语句,使用LEFT JOIN和ORDER 语句 <?php /* ******************************************************************* Example file This ex

  • Navicat for MySQL导出表结构脚本的简单方法

    使用MySQL可视化工具Navicat导出MySQL的表结构脚本的方法. 1.右键Navicat中的数据库→数据传输(Data Transfer). 2.左边数据库对象(Database Objects)中选择对应的表,右边目标(Target)中选择文件(File)选择脚本存储的名称及位置,再在上面选择高级(Advanced). 3.去掉记录选项(Record Options)中插入记录(Insert records)的勾. 4.左边的表选项(Table Options)里,可以根据自己情况勾选

随机推荐