Golang Go语言中的Gormat - 跨平台 Gopher 辅助工具
Golang Go语言中的Gormat - 跨平台 Gopher 辅助工具
Gormat - 跨平台 Gopher 辅助工具
跨平台的界面化 golang 便捷转换器,支持数据库转 Struct、Sql 转 Struct、Json 转 Struct 等。
Features 功能展示
- [x] 数据库转 Struct
- [x] 数据引擎支持
- [x] Mysql
- [ ] PostgreSQL
- [ ] Sqlite3
- [ ] Mssql
- [x] 自动存文件
- [x] 标签支持
- [x] Gorm
- [x] Xrom
- [x] JSON
- [x] 排除列表
- [x] 数据映射
- [x] 自定义转型
- [x] 数据引擎支持
- [x] Sql 转 Struct
- [x] Json 转 Struct
Prerequisites 开发条件
golang >= 1.11
Installation 安装
安装使用不需要额外的环境,移步到releases下载。
不同平台需要安装额外的开发环境
OS X & Linux:
OpenSSL
Windows:
Gcc
Usage example 编译示例( windows )
SET CGO_ENABLED=1
SET CC=x86_64-w64-mingw32-gcc
SET GOOS=windows
SET GOARCH=amd64
go build -o gormat.exe -ldflags="-H windowsgui"
本项目使用 fyne 开发,更多打包编译步骤参考: https://fyne.io/develop/distribution.html
Contributing 开源支持
fyne.io/fyne
github.com/Chronokeeper/anyxml
github.com/CloudyKit/fastprinter
github.com/CloudyKit/jet
github.com/agrison/go-tablib
github.com/agrison/mxj
github.com/bndr/gotabulate
github.com/buger/jsonparser
github.com/chenhg5/collection
github.com/denisenkom/go-mssqldb
github.com/fatih/astrewrite
github.com/fatih/camelcase
github.com/fatih/structs
github.com/go-sql-driver/mysql
github.com/lib/pq
github.com/liudanking/gorm2sql
github.com/liudanking/goutil
github.com/mattn/go-sqlite3
github.com/pinzolo/casee
github.com/tealeg/xlsx
github.com/xormplus/builder
github.com/xormplus/core
github.com/xormplus/xorm
golang.org/x/net
golang.org/x/tools
gopkg.in/flosch/pongo2.v3
gopkg.in/yaml.v2
Thanks 鸣谢
github.com/hsyan2008/gom
github.com/fatih/structtag
github.com/yujiahaol68/sql2struct
github.com/bashtian/jsonutils
Release History 版本历史
- beta
- 测试开源版本
- 0.0.1
- gormat lite
About 关于
在 golang 开发中,有很多时候需要手动敲结构体,并且需要手动入库。尽管 gorm 有自动迁移的功能,但并不能有效、理想化的形成数据库字段。 网上也有很多开源的例子,但是都没有界面化并且方便管理的工具,所以我开始写这个项目,目的就是更高效的开发,转换即用。
本项目借鉴了许多开源转换库的代码,并结合 orm 进行适度调整。在开发中遇到了很多的问题,fyne 这个 GUI 开发框架也是有很多坑点的,现不赘述。不管是数据库转 Struct,还是 Struct 转 SQL 语句,普遍还存在一些误差,所以转换结果仅供参考, 实际项目请自行调整使用。
License 授权协议
这个项目 MIT 协议, 请点击 LICENSE 了解更多细节。
更多关于Golang Go语言中的Gormat - 跨平台 Gopher 辅助工具的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html
fyne UI 框架还挺原始的,LZ 画 UI 麻烦不麻烦哦?
更多关于Golang Go语言中的Gormat - 跨平台 Gopher 辅助工具的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html
请问有什么坑能说说吗
Gormat是一款专为Golang开发者设计的跨平台辅助工具,它极大地简化了数据库表结构、SQL语句及JSON数据到Go语言Struct的转换过程。以下是对Gormat的详细解析:
一、主要功能
- 数据库转Struct:支持多种数据库引擎,目前主要优化了对MySQL的支持,能够准确解析数据库表结构并转换为Go Struct。
- SQL转Struct:支持将SQL语句转换为Go Struct,方便开发者进行代码审查和优化。
- Json转Struct:支持将JSON数据转换为Go Struct,简化数据模型的定义过程。
二、特色功能
- 自动保存:转换后的Struct代码可以自动保存为文件,减少手动处理文件的工作量。
- 标签支持:支持Gorm、Xrom、JSON等多种标签,满足不同ORM框架的需求。
- 灵活配置:提供排除列表、数据映射和自定义转型等功能,满足各种复杂的转换需求。
三、使用建议
Gormat的开源协议为MIT,开发者可以在Gormat GitHub页面下载并尝试使用。在进行数据库迁移、API开发或SQL优化时,Gormat都能提供极大的帮助。它不仅是开发者高效工作的得力助手,更是提升Golang开发效率的重要工具。