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插件

相關文章
相關標籤/搜索