使用 go-xorm/cmd/xorm reverse 遇到的一些问题

简介: environment:macos + docker + golang,在使用 xorm reverse 生成数据库模型code 遇到的一点问题。

关于 xorm

xorm 是一组数据库操作命令行工具。支持多种特性,具体功能移步至github/go/xorm

使用 golang 操作数据库的同学都会遇到一个问题 —— 根据数据表结构创建对应的 struct 模型。久而久之,这是一个非常繁琐的过程。接下来便使用 xorm根据数据库表结构进行model 的 code 生成!

go get github.com/go-xorm/cmd/xorm
go get github.com/go-xorm/xorm

cd GOPATH/src/github.com/go-xorm/cmd/xorm

exec:

go build

根据 golang 版本不同有可能提示

go: inconsistent vendoring in /Users/zhuxiaojie/go/src/github.com/go-xorm/cmd/xorm:
run 'go mod vendor' to sync, or use -mod=mod or -mod=readonly to ignore the vendor directory

直接运行 go mod vendor 即可解决

接下来执行:
./xorm reverse mysql root:password@test?charset=utf8 templates/goxorm

有的同学可能会遇到

reverse.go:196 Error 1045: Access denied for user '“root'@'172.17.0.1' (using password: YES)

因为mysql 运行在 docker 中,查看源码后其实只需要做出一下修改即可

./xorm reverse mysql "root:password@tcp(localhost:port)/db_name" templates/goxorm

接下来在当前目录models中生成数据库 model 文件。

目录
相关文章
|
1天前
|
安全 Go 数据处理
探索Go语言的并发之美:Goroutines与Channels
在Go语言的世界里,"并发"不仅仅是一个概念,它是一种生活的方式。本文将带你领略Go语言中Goroutines和Channels的魔力,它们是如何让并发编程变得既简单又高效。我们将通过一个简单的示例,展示如何使用这些工具来构建一个高性能的网络服务。
|
1天前
|
关系型数据库 Go 数据处理
高效数据迁移:使用Go语言优化ETL流程
在本文中,我们将探索Go语言在处理大规模数据迁移任务中的独特优势,以及如何通过Go语言的并发特性来优化数据提取、转换和加载(ETL)流程。不同于其他摘要,本文不仅展示了Go语言在ETL过程中的应用,还提供了实用的代码示例和性能对比分析。
|
1天前
|
Go 定位技术 索引
Go 语言Map(集合) | 19
Go 语言Map(集合) | 19
|
2天前
|
Go
go语言注释,标识符 | 17
go语言注释,标识符 | 17
|
3天前
|
存储 缓存 Go
go语言编程系列(五)
go语言编程系列(五)
|
3天前
|
搜索推荐 Java 编译器
go语言编程系列(四)
go语言编程系列(四)
Go语言的条件控制语句及循环语句的学习笔记
本文是Go语言的条件控制语句和循环语句的学习笔记,涵盖了if语句、if-else语句、if嵌套语句、switch语句、select语句以及for循环和相关循环控制语句的使用方法。
Go语言的条件控制语句及循环语句的学习笔记
|
2天前
|
存储 缓存 安全
速成班!去繁存简,一文让你学会go语言基础!!
速成班!去繁存简,一文让你学会go语言基础!!
|
3天前
|
存储 JSON 安全
go语言编程系列(七)
go语言编程系列(七)
|
3天前
|
存储 安全 编译器
go语言编程系列(六)
go语言编程系列(六)