SQL2Struct:一款根据sql语句自动生成golang结构体的chrome插件

前言

最近在用golang写api,用到gorm包进行数据库操做,gorm是golang中很是流行的一个orm包,使用gorm进行数据库操做前,通常须要先用一个golang结构体对数据表字段进行映射,因而咱们常常须要根据数据表中的字段名和类型来手动在go代码中写struct,有时候数据表字段不少的状况下,这种方式很耗费精力。因而便想到了写一个chrome插件,根据数据表的DDL语句来自动生成golang结构体,能够配置go结构体字段类型与mysql数据表字段类型的一个映射关系。mysql

SQL2Struct

SQL2Struct是一款对golang开发者友好的chrome插件,根据在mysql中建立数据表的sql语句,自动生成golang中的struct,在golang开发者使用诸如gorm之类的框架时,能够很好的把mysql中的数据表与orm的结构体关联起来。git

github地址:github.com/mikemintang…github

使用说明

  1. 下载chrome扩展文件:点击下载golang

  2. 安装扩展正则表达式

  1. 在mysql中获取生成数据表的sql语句

show create table users\G;sql

  1. 进入插件主页面,把上一步获得的sql语句粘贴至左侧的输入框chrome

  2. 复制右侧生成的struct,粘贴至golang代码中便可数据库

配置说明

目前只有三个配置项json

  • gorm:开启此配置项,则生成struct的时候,每一个字段都会包含相似gorm:column:"id"这样的信息。
  • json:开启此配置项,则生成struct的时候,每一个字段都会包含相似json:"id"这样的信息。
  • typeMap:此配置项定义mysql数据表字段类型与go字段类型的映射关系,在数据解析的时候会安装配置的映射关系进行结构体生成。

Todolist

  • [ ] 支持更多的mysql类型与go类型的映射
  • [ ] 支持自定义要进行转换的字段配置
  • [ ] 正则表达式优化
  • [ ] 数据表名称复数形式与struct名称单数形式转换
  • [ ] 增长主键、索引转换支持

Contribution

欢迎fork代码、提issue或者是pull requestapi

原文地址:SQL2Struct:一款根据sql语句自动生成golang结构体的chrome插件

相关文章
相关标签/搜索