From c5924ba43deb09e23ad2b40d177204a8beb3ac04 Mon Sep 17 00:00:00 2001 From: xxjwxc Date: Sun, 23 Feb 2020 00:11:17 +0800 Subject: [PATCH 01/14] fix makeFILE --- .DS_Store | Bin 8196 -> 0 bytes Makefile | 9 ++++----- 2 files changed, 4 insertions(+), 5 deletions(-) delete mode 100644 .DS_Store diff --git a/.DS_Store b/.DS_Store deleted file mode 100644 index 5daba3fabd2321456b9e0d4d7942a7fdb6284c0a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8196 zcmeHMO;8*~6n<~{Nza7HK*$0yz*c~g=q9oR2@1sJM=dlF%H=mCEVDZ!jG3Lmommz_ zuqY3f6;pbORwe4egPOvV(SrvMnzG9BpjDbGqZdm{FCIL2iKQ1`PtRh2a8)aruIm1} z`@PrG@69*U`(^J3m1Eq;Re|2CgBmXdAmk~4 zSEx^UfM*l&G4A84K+lxc6xjp%rs$^_D9lM7;p&8OA6Eqmb3kDZ=wBKA3A9 z2aF30+8_c!1hz(iKRzX3Kn7Hp-H^Y3k(xIR$8Bx>7DGkFC8awUlbO6rK9!iW^9fgV zb55U{o#LZm)tyWE{Sn(X*ZXQ}%+T{mrK;byT-C7jtY>U!I;or-H!RK0_t`m1bG&sD zLco~Bq@+^2yd3L{MI&t;v6X0KITm}MGaBh=jjgOmthzbYGdPo3IC-=CzW!CTpXm~a8_R+cgEAU znafyCQmII*W;$o8uHI{!T-lj$^+lKWPB?bf?e`Ruijs5mr*zUY7W4tqCeup3($KtX z*p@SM&2o*W4LvJWgeIgBOU>w>Rk%7_%aleokxLoR<_vd9thFy(FDW0glN#;hxUF$Z zP3Z3n?`Ld^&-Z6_YQ?nN9KJ_VR5s#}Ut)=S<*1}M(#UDLgTnNFImQ%C8a36FZi=aP zxq~TBNaG8_Ju&&9+{G#|Dov#AOosODi0Px@I8#1n)BM`URL32f*R6kcHNe;;m-K3y zuCc~=i-?owsig3uqZalKgLh-s@P$uK*`6&xX|Kf)Vt}iBTD+8%|g?+qGTOW zvgtpixaqEKAlA)n@(3gt;xVVd48hoNbxrNwyXCr3 z;*`F)ndJrcD?2!Q*fp-*5UHzEIBmqRsku&8keDrb(gV#T4f(Qzhe%dLBo?x^!*ZQc zLVOjLM>=I$DJDV-X?G7vONqKd+S^A`;E$HHnS0wZ?=rj(pAhT5haZS*zrycu0|861 z48vHD5p2XJY{o;_ifwop+lgxrV=wl3e0$R4+aylmDV!$O&EYd>Vg@bD6X%xkEUw@S z_#&S3*mnV6!;5$cU&lA_ZCu;LyTJnE1mb%edAE?rTBdEy(rkgL8x4ZdZ5)9j;ad&Q z{~y`@`~PhmfxxvO0zm|@cpx#*M{(Hh4B)wTgz5}cUbx<>K+l94FC8cJ(s9D|KMbiK iAysY@_i Date: Sun, 23 Feb 2020 11:26:52 +0800 Subject: [PATCH 02/14] =?UTF-8?q?feat:=20=E5=86=85=E7=BD=AE=E9=BB=98?= =?UTF-8?q?=E8=AE=A4=E9=85=8D=E7=BD=AE=EF=BC=8C=E8=84=B1=E7=A6=BB=E5=AF=B9?= =?UTF-8?q?=E5=A4=96=E9=83=A8=E9=85=8D=E7=BD=AE=E6=96=87=E4=BB=B6=E7=9A=84?= =?UTF-8?q?=E5=BC=BA=E4=BE=9D=E8=B5=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 5 +++++ data/config/common.go | 51 ++++++++++++++++++++++++++++++++++--------- go.mod | 2 +- go.sum | 10 +++++++++ 4 files changed, 57 insertions(+), 11 deletions(-) diff --git a/.gitignore b/.gitignore index b90bf62..20c5283 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,8 @@ db/oauth_db.go .vscode/settings.json +/.idea +/err +/model +gormt.yml +gormt diff --git a/data/config/common.go b/data/config/common.go index e389f97..47a3702 100644 --- a/data/config/common.go +++ b/data/config/common.go @@ -2,11 +2,11 @@ package config import ( "fmt" - "io/ioutil" - "github.com/xxjwxc/public/dev" "github.com/xxjwxc/public/tools" "gopkg.in/yaml.v3" + "io/ioutil" + "os" ) // CfgBase base config struct @@ -18,33 +18,65 @@ type CfgBase struct { IsDev bool `json:"is_dev" yaml:"is_dev"` // Is it a development version?是否是开发版本 } -var _map = Config{} +var _map = Config{ + CfgBase: CfgBase{ + IsDev: false, + }, + MySQLInfo: MysqlDbInfo{ + Host: "127.0.0.1", + Port: 3306, + Username: "root", + Password: "root", + Database: "test", + }, + OutDir: "./model", + URLTag: "json", + Language: "中 文", + DbTag: "gorm", + Simple: false, + IsWEBTag: false, + SingularTable: true, + IsForeignKey: true, + IsOutSQL: false, + IsOutFunc: true, + IsGUI: false, +} + +var configPath string = "gormt.yml" func init() { + // configPath = path.Join(tools.GetModelPath(), "config.yml") onInit() dev.OnSetDev(_map.IsDev) } func onInit() { - path := tools.GetModelPath() - err := InitFile(path + "/config.yml") + err := InitFile(configPath) if err != nil { - fmt.Println("InitFile: ", err.Error()) + fmt.Println("Load config file error: ", err.Error()) return } } // InitFile default value from file . func InitFile(filename string) error { + if _, e := os.Stat(filename); e != nil { + fmt.Println("配置文件未初始化,正在自动初始化配置文件", filename) + if err := SaveToFile(); err == nil { + fmt.Println("配置文件初始化完毕") + } else { + fmt.Println("配置文件初始化异常", err) + } + os.Exit(0) + } bs, err := ioutil.ReadFile(filename) if err != nil { return err } if err := yaml.Unmarshal(bs, &_map); err != nil { - fmt.Println("read toml error: ", err.Error()) + fmt.Println("read config file error: ", err.Error()) return err } - return nil } @@ -72,9 +104,8 @@ func SaveToFile() error { if err != nil { return err } - tools.WriteFile(tools.GetModelPath()+"/config.yml", []string{ + tools.WriteFile(configPath, []string{ string(d), }, true) - return nil } diff --git a/go.mod b/go.mod index d129b38..3cdc42c 100644 --- a/go.mod +++ b/go.mod @@ -16,6 +16,6 @@ require ( golang.org/x/text v0.3.2 gopkg.in/go-playground/assert.v1 v1.2.1 // indirect gopkg.in/go-playground/validator.v9 v9.30.2 - gopkg.in/yaml.v2 v2.2.7 + gopkg.in/yaml.v2 v2.2.7 // indirect gopkg.in/yaml.v3 v3.0.0-20191120175047-4206685974f2 ) diff --git a/go.sum b/go.sum index 3b9251a..78aeb5e 100644 --- a/go.sum +++ b/go.sum @@ -3,6 +3,7 @@ cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMT cloud.google.com/go v0.37.4 h1:glPeL3BQJsbF6aIIYfZizMwc5LTYz250bDMjttbBGAU= cloud.google.com/go v0.37.4/go.mod h1:NHPJ89PdicEuT9hdPXMROBD91xc5uRDxsMtSB16k7hw= github.com/BurntSushi/toml v0.3.0/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= +github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWXgklEdEo= github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI= @@ -24,6 +25,7 @@ github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8Nz github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/denisenkom/go-mssqldb v0.0.0-20190515213511-eb9f6a1743f3 h1:tkum0XDgfR0jcVVXuTsYv/erY2NnEDqwRojbxR1rBYA= github.com/denisenkom/go-mssqldb v0.0.0-20190515213511-eb9f6a1743f3/go.mod h1:zAg7JM8CkOJ43xKXIj7eRO9kmWm/TW578qo+oDO6tuM= @@ -53,6 +55,7 @@ github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfb github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= +github.com/google/go-cmp v0.2.0 h1:+dTQ8DZQJz0Mb/HjFlkptS1FeQ4cWSnN941F8aEG4SQ= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= @@ -81,8 +84,10 @@ github.com/kardianos/service v1.0.1-0.20191017145738-4df36c9fc1c6/go.mod h1:8CzD github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= +github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/leodido/go-urn v1.2.0 h1:hpXL4XnriNwQ/ABnpepYM/1vCLWNDfUNts8dX3xTG6Y= github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII= @@ -112,6 +117,7 @@ github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/9 github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= github.com/prometheus/client_golang v0.9.3-0.20190127221311-3c4408c8b829/go.mod h1:p2iRAGwDERtqlqzRXnrOVns+ignqQo//hLXqYxZYVNs= @@ -135,6 +141,7 @@ github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+ github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +github.com/stretchr/testify v1.4.0 h1:2E4SXV/wtOkTonXsotYi4li6zVWxYlZuYNCXe9XRJyk= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= github.com/syndtr/goleveldb v1.0.0/go.mod h1:ZVVdQEZoIme9iO1Ch2Jdy24qqXrMMOU6lpPAyBWyWuQ= github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0= @@ -198,6 +205,7 @@ golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3 golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= google.golang.org/api v0.3.1/go.mod h1:6wY9I6uQWHQ8EM57III9mq/AjF+i8G65rmVagqKMtkk= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= +google.golang.org/appengine v1.4.0 h1:/wp5JvzpHIxhs/dumFmF7BXTf3Z+dd4uXta4kVyO508= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= @@ -206,9 +214,11 @@ google.golang.org/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3 google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/eapache/queue.v1 v1.1.0/go.mod h1:wNtmx1/O7kZSR9zNT1TTOJ7GLpm3Vn7srzlfylFbQwU= gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= +gopkg.in/go-playground/assert.v1 v1.2.1 h1:xoYuJVE7KT85PYWrN730RguIQO0ePzVRfFMXadIrXTM= gopkg.in/go-playground/assert.v1 v1.2.1/go.mod h1:9RXL0bg/zibRAgZUYszZSwO/z8Y/a8bDuhia5mkpMnE= gopkg.in/go-playground/validator.v9 v9.30.2 h1:icxYLlYflpazIV3ufMoNB9h9SYMQ37DZ8CTwkU4pnOs= gopkg.in/go-playground/validator.v9 v9.30.2/go.mod h1:+c9/zcJMFNgbLvly1L1V+PpxWdVbfP1avr/N00E2vyQ= From 2aa5bb804d9d029d18f8919f8804944b5bca00db Mon Sep 17 00:00:00 2001 From: xxjwxc Date: Sun, 23 Feb 2020 14:42:20 +0800 Subject: [PATCH 03/14] fix auto config defile --- Makefile | 14 ++++++++------ data/config/common.go | 16 +++++++++------- go.mod | 1 - go.sum | 9 +-------- 4 files changed, 18 insertions(+), 22 deletions(-) diff --git a/Makefile b/Makefile index f550599..666e8f1 100644 --- a/Makefile +++ b/Makefile @@ -1,16 +1,18 @@ -all: - make windows - make mac - make linux +all: # 构建 + make tar make clear windows: CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build -o gormt.exe main.go - tar czvf gormt_windows.zip gormt.exe config.yml mac: CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build -o gormt main.go - tar czvf gormt_mac.zip gormt config.yml linux: CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o gormt main.go +tar: # 打包 + CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build -o gormt.exe main.go + tar czvf gormt_windows.zip gormt.exe config.yml + CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build -o gormt main.go + tar czvf gormt_mac.zip gormt config.yml + CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o gormt main.go tar czvf gormt_linux.zip gormt config.yml clear: - rm -rf model/* diff --git a/data/config/common.go b/data/config/common.go index 47a3702..3c21f4a 100644 --- a/data/config/common.go +++ b/data/config/common.go @@ -2,11 +2,13 @@ package config import ( "fmt" + "io/ioutil" + "os" + "path" + "github.com/xxjwxc/public/dev" "github.com/xxjwxc/public/tools" "gopkg.in/yaml.v3" - "io/ioutil" - "os" ) // CfgBase base config struct @@ -42,10 +44,10 @@ var _map = Config{ IsGUI: false, } -var configPath string = "gormt.yml" +var configPath string func init() { - // configPath = path.Join(tools.GetModelPath(), "config.yml") + configPath = path.Join(tools.GetModelPath(), "config.yml") onInit() dev.OnSetDev(_map.IsDev) } @@ -61,11 +63,11 @@ func onInit() { // InitFile default value from file . func InitFile(filename string) error { if _, e := os.Stat(filename); e != nil { - fmt.Println("配置文件未初始化,正在自动初始化配置文件", filename) + fmt.Println("init default config file", filename) if err := SaveToFile(); err == nil { - fmt.Println("配置文件初始化完毕") + fmt.Println("done,please restart.") } else { - fmt.Println("配置文件初始化异常", err) + fmt.Println("shit,fail", err) } os.Exit(0) } diff --git a/go.mod b/go.mod index 3cdc42c..d606472 100644 --- a/go.mod +++ b/go.mod @@ -3,7 +3,6 @@ module github.com/xxjwxc/gormt go 1.13 require ( - github.com/fzipp/gocyclo v0.0.0-20150627053110-6acd4345c835 // indirect github.com/go-playground/universal-translator v0.17.0 // indirect github.com/go-sql-driver/mysql v1.4.1 github.com/jinzhu/gorm v1.9.11 diff --git a/go.sum b/go.sum index 78aeb5e..89a5129 100644 --- a/go.sum +++ b/go.sum @@ -36,8 +36,6 @@ github.com/erikstmartin/go-testdb v0.0.0-20160219214506-8d10e4a1bae5 h1:Yzb9+7DP github.com/erikstmartin/go-testdb v0.0.0-20160219214506-8d10e4a1bae5/go.mod h1:a2zkGnVExMxdzMo3M0Hi/3sEU+cWnZpSni0O6/Yb/P0= github.com/ezbuy/tgen v0.0.0-20180109020500-95ef13895032/go.mod h1:OeW1N0acAlRaGTlOG8jRZZUKEtyiGa0qvD+lWNWb9vs= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= -github.com/fzipp/gocyclo v0.0.0-20150627053110-6acd4345c835 h1:roDmqJ4Qes7hrDOsWsMCce0vQHz3xiMPjJ9m4c2eeNs= -github.com/fzipp/gocyclo v0.0.0-20150627053110-6acd4345c835/go.mod h1:BjL/N0+C+j9uNX+1xcNuM9vdSIcXCZrQZUYbXOFbgN8= github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= github.com/go-playground/locales v0.13.0 h1:HyWk6mgj5qFqCT5fjGBuRArbVDfE4hi8+e8ceBS/t7Q= @@ -103,7 +101,6 @@ github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5 github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= -github.com/nicksnyder/go-i18n v2.0.3+incompatible h1:XCCaWsCoy4KlWkhOr+63dkv6oJmitJ573uJqDBAiFiQ= github.com/nicksnyder/go-i18n/v2 v2.0.3 h1:ks/JkQiOEhhuF6jpNvx+Wih1NIiXzUnZeZVnJuI8R8M= github.com/nicksnyder/go-i18n/v2 v2.0.3/go.mod h1:oDab7q8XCYMRlcrBnaY/7B1eOectbvj6B1UPBT+p5jo= github.com/nsf/termbox-go v0.0.0-20191229070316-58d4fcbce2a7 h1:OkWEy7aQeQTbgdrcGi9bifx+Y6bMM7ae7y42hDFaBvA= @@ -146,11 +143,6 @@ github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81P github.com/syndtr/goleveldb v1.0.0/go.mod h1:ZVVdQEZoIme9iO1Ch2Jdy24qqXrMMOU6lpPAyBWyWuQ= github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0= github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= -github.com/xxjwxc/public v0.0.0-20191107073037-ea6b812d567f h1:PyaqoUhjkgpBGR/8LXWvk3yzrILMXC7Ygu8xhl5+sM8= -github.com/xxjwxc/public v0.0.0-20191107073037-ea6b812d567f/go.mod h1:j0CCXMUDtykGMfOoBpy1pfmzEeBk2JVusosjbgjfMZg= -github.com/xxjwxc/public v0.0.0-20200120133922-c61314a90a4a h1:sQ+O2UwDj1ShdZ6NLgp98cmaZLWrkFpVJB+wOzj1kDQ= -github.com/xxjwxc/public v0.0.0-20200120133922-c61314a90a4a/go.mod h1:UYQUNNJmUzNKpjY5ctz1n/XoJonmhAIgD51zS2rEsek= -github.com/xxjwxc/public v0.0.0-20200120153226-f36cf754df21 h1:1OF0Q6FGQhmziN4yvHLiF9XXOqfChL5z4rcogSQqCos= github.com/xxjwxc/public v0.0.0-20200221114751-56810b3fcc29 h1:C0fnjiwnCBjovovCTkrjVXQtqd+UdVD2N8yaVK8LHwk= github.com/xxjwxc/public v0.0.0-20200221114751-56810b3fcc29/go.mod h1:lhh94GsxhTweM/OaF7eFzOAgVV6fSSbBvA6zOtOVmdU= go.opencensus.io v0.20.1/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= @@ -159,6 +151,7 @@ golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9/go.mod h1:6SG95UA2DQfeDnf golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190325154230-a5d413f7728c h1:Vj5n4GlwjmQteupaxJ9+0FNOmBrHfq7vN4btdGoDZgI= golang.org/x/crypto v0.0.0-20190325154230-a5d413f7728c/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20190506204251-e1dfcc566284 h1:rlLehGeYg6jfoyz/eDqDU1iRXLKfR42nnNh57ytKEWo= golang.org/x/crypto v0.0.0-20190506204251-e1dfcc566284/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= From b7c5b5b6c73041b982391c14adfbf07c7c2b7e09 Mon Sep 17 00:00:00 2001 From: xxjwxc Date: Sun, 23 Feb 2020 14:44:33 +0800 Subject: [PATCH 04/14] fix auto config defile --- data/config/common.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/config/common.go b/data/config/common.go index 3c21f4a..af1fbd6 100644 --- a/data/config/common.go +++ b/data/config/common.go @@ -63,7 +63,7 @@ func onInit() { // InitFile default value from file . func InitFile(filename string) error { if _, e := os.Stat(filename); e != nil { - fmt.Println("init default config file", filename) + fmt.Println("init default config file: ", filename) if err := SaveToFile(); err == nil { fmt.Println("done,please restart.") } else { From 2bd6daaf8d61daaefef20667a72cacc613cb2972 Mon Sep 17 00:00:00 2001 From: LLLLancelot <575401620@qq.com> Date: Fri, 28 Feb 2020 03:50:04 +0800 Subject: [PATCH 05/14] fork test commit --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index a090fb7..180a353 100644 --- a/README.md +++ b/README.md @@ -198,3 +198,5 @@ go generate ## Stargazers over time [![Stargazers over time](https://starchart.cc/xxjwxc/gormt.svg)](https://starchart.cc/xxjwxc/gormt) + +## 20200228 llllancelot foked From 9e60d56227ea126a56c1e5494fc4c7bf303ef9c1 Mon Sep 17 00:00:00 2001 From: LLLLancelot <575401620@qq.com> Date: Fri, 28 Feb 2020 04:03:08 +0800 Subject: [PATCH 06/14] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=96=B0=E7=89=B9?= =?UTF-8?q?=E6=80=A7=EF=BC=8C=E5=B9=B6=E4=BF=AE=E5=A4=8D=E4=B8=80=E4=BA=9B?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 3 +- README_zh_cn.md | 1 + config.yml | 1 + data/cmd/cmd.go | 21 +++++++++++ data/config/MyIni.go | 53 +++++++++++++++++++++------- data/config/common.go | 49 +++++-------------------- data/dlg/cui.go | 49 ++++++------------------- data/dlg/def.go | 16 ++++----- data/dlg/i18n.go | 12 +++---- data/view/cnf/def.go | 11 ++++-- data/view/genfunc/def.go | 6 ++++ data/view/genfunc/genfunc.go | 5 +++ data/view/genstruct/common.go | 39 +++++++++++++++++--- data/view/genstruct/def.go | 1 + data/view/model/genmysql/genmysql.go | 12 +++++++ data/view/model/model.go | 7 +++- go.sum | 21 +++++------ 17 files changed, 176 insertions(+), 131 deletions(-) diff --git a/README.md b/README.md index 180a353..516a39e 100644 --- a/README.md +++ b/README.md @@ -38,6 +38,7 @@ is_out_func : true # Whether to output function is_url_tag : true # Whether to mark web or not is_foreign_key : true # Whether to mark foreign key or not is_gui : false # Whether to operate on gui +is_table_name : false # Whether to out GetTableName function mysql_info : host : "127.0.0.1" @@ -198,5 +199,3 @@ go generate ## Stargazers over time [![Stargazers over time](https://starchart.cc/xxjwxc/gormt.svg)](https://starchart.cc/xxjwxc/gormt) - -## 20200228 llllancelot foked diff --git a/README_zh_cn.md b/README_zh_cn.md index 8abd75d..02c0b26 100644 --- a/README_zh_cn.md +++ b/README_zh_cn.md @@ -42,6 +42,7 @@ is_out_func : true # 是否输出 快捷函数 is_url_tag : true # 是否打web标记 is_foreign_key : true # 是否导出外键关联 is_gui : false # 是否ui模式显示 +is_table_name : false # 是否直接生成表名函数 mysql_info: host : 127.0.0.1 port : 3306 diff --git a/config.yml b/config.yml index 52029ab..421e155 100644 --- a/config.yml +++ b/config.yml @@ -11,6 +11,7 @@ is_out_func : true # 是否输出 快捷函数 is_url_tag : true # 是否打web标记 is_foreign_key : true # 是否导出外键关联 is_gui : false # 是否ui模式显示 +is_table_name : false # 是否直接生成表名函数 mysql_info: host : 127.0.0.1 port : 3306 diff --git a/data/cmd/cmd.go b/data/cmd/cmd.go index 8c9bca4..afe01e5 100644 --- a/data/cmd/cmd.go +++ b/data/cmd/cmd.go @@ -3,6 +3,7 @@ package cmd import ( "fmt" "os" + "strings" "github.com/xxjwxc/public/tools" @@ -21,6 +22,8 @@ var foreignKey bool var funcKey bool var ui bool var urlTag string +var tableList string +var outFileName string var rootCmd = &cobra.Command{ Use: "main", @@ -72,6 +75,11 @@ func init() { rootCmd.PersistentFlags().StringVarP(&urlTag, "url", "l", "", "url标签(json,url)") rootCmd.MarkFlagRequired("url tag") + rootCmd.PersistentFlags().StringVarP(&tableList, "tablelist", "t", "", "目标table列表,以','隔开") + rootCmd.MarkFlagRequired("table list") + + rootCmd.Flags().StringVar(&outFileName, "outfilename", "", "输出文件名,默认以数据库名称命名") + rootCmd.Flags().IntVar(&mysqlInfo.Port, "port", 3306, "端口号") } @@ -111,6 +119,19 @@ func MergeMysqlDbInfo() { if len(urlTag) > 0 { config.SetURLTag(urlTag) } + if len(tableList) > 0 { + m := make(map[string]struct{}) + for _, v := range strings.Split(tableList, ",") { + m[v] = struct{}{} + } + config.SetTableList(m) + } + if len(outFileName) > 0 { + if !strings.HasSuffix(outFileName, ".go") { + outFileName += ".go" + } + config.SetOutFileName(outFileName) + } config.SetMysqlDbInfo(&tmp) diff --git a/data/config/MyIni.go b/data/config/MyIni.go index d5cfc15..1689138 100644 --- a/data/config/MyIni.go +++ b/data/config/MyIni.go @@ -9,18 +9,21 @@ import ( // Config custom config struct type Config struct { CfgBase `yaml:"base"` - MySQLInfo MysqlDbInfo `yaml:"mysql_info"` - OutDir string `yaml:"out_dir"` - URLTag string `yaml:"url_tag"` // url tag - Language string `yaml:"language"` // language - DbTag string `yaml:"db_tag"` // 数据库标签(gormt,db) - Simple bool `yaml:"simple"` - IsWEBTag bool `yaml:"is_web_tag"` - SingularTable bool `yaml:"singular_table"` - IsForeignKey bool `yaml:"is_foreign_key"` - IsOutSQL bool `yaml:"is_out_sql"` - IsOutFunc bool `yaml:"is_out_func"` - IsGUI bool `yaml:"is_gui"` // + MySQLInfo MysqlDbInfo `yaml:"mysql_info"` + OutDir string `yaml:"out_dir"` + URLTag string `yaml:"url_tag"` // url tag + Language string `yaml:"language"` // language + DbTag string `yaml:"db_tag"` // 数据库标签(gormt,db) + Simple bool `yaml:"simple"` + IsWEBTag bool `yaml:"is_web_tag"` + SingularTable bool `yaml:"singular_table"` + IsForeignKey bool `yaml:"is_foreign_key"` + IsOutSQL bool `yaml:"is_out_sql"` + IsOutFunc bool `yaml:"is_out_func"` + IsGUI bool `yaml:"is_gui"` // + IsTableName bool `yaml:"is_table_name"` + TableList map[string]struct{} `yaml:"-"` + OutFileName string `yaml:"-"` } // MysqlDbInfo mysql database information. mysql 数据库信息 @@ -132,6 +135,32 @@ func SetIsGUI(b bool) { _map.IsGUI = b } +// GetIsTableName if is table name . +func GetIsTableName() bool { + return _map.IsTableName +} + +// SetIsTableName if is table name . +func SetIsTableName(b bool) { + _map.IsTableName = b +} + +func SetTableList(m map[string]struct{}) { + _map.TableList = m +} + +func GetTableList() map[string]struct{} { + return _map.TableList +} + +func SetOutFileName(f string) { + _map.OutFileName = f +} + +func GetOutFileName() string { + return _map.OutFileName +} + // GetURLTag get url tag. func GetURLTag() string { if _map.URLTag != "json" && _map.URLTag != "url" { diff --git a/data/config/common.go b/data/config/common.go index af1fbd6..e389f97 100644 --- a/data/config/common.go +++ b/data/config/common.go @@ -3,8 +3,6 @@ package config import ( "fmt" "io/ioutil" - "os" - "path" "github.com/xxjwxc/public/dev" "github.com/xxjwxc/public/tools" @@ -20,65 +18,33 @@ type CfgBase struct { IsDev bool `json:"is_dev" yaml:"is_dev"` // Is it a development version?是否是开发版本 } -var _map = Config{ - CfgBase: CfgBase{ - IsDev: false, - }, - MySQLInfo: MysqlDbInfo{ - Host: "127.0.0.1", - Port: 3306, - Username: "root", - Password: "root", - Database: "test", - }, - OutDir: "./model", - URLTag: "json", - Language: "中 文", - DbTag: "gorm", - Simple: false, - IsWEBTag: false, - SingularTable: true, - IsForeignKey: true, - IsOutSQL: false, - IsOutFunc: true, - IsGUI: false, -} - -var configPath string +var _map = Config{} func init() { - configPath = path.Join(tools.GetModelPath(), "config.yml") onInit() dev.OnSetDev(_map.IsDev) } func onInit() { - err := InitFile(configPath) + path := tools.GetModelPath() + err := InitFile(path + "/config.yml") if err != nil { - fmt.Println("Load config file error: ", err.Error()) + fmt.Println("InitFile: ", err.Error()) return } } // InitFile default value from file . func InitFile(filename string) error { - if _, e := os.Stat(filename); e != nil { - fmt.Println("init default config file: ", filename) - if err := SaveToFile(); err == nil { - fmt.Println("done,please restart.") - } else { - fmt.Println("shit,fail", err) - } - os.Exit(0) - } bs, err := ioutil.ReadFile(filename) if err != nil { return err } if err := yaml.Unmarshal(bs, &_map); err != nil { - fmt.Println("read config file error: ", err.Error()) + fmt.Println("read toml error: ", err.Error()) return err } + return nil } @@ -106,8 +72,9 @@ func SaveToFile() error { if err != nil { return err } - tools.WriteFile(configPath, []string{ + tools.WriteFile(tools.GetModelPath()+"/config.yml", []string{ string(d), }, true) + return nil } diff --git a/data/dlg/cui.go b/data/dlg/cui.go index dd7c695..c1aa437 100644 --- a/data/dlg/cui.go +++ b/data/dlg/cui.go @@ -4,14 +4,12 @@ import ( "fmt" "log" "strconv" - "strings" "github.com/xxjwxc/public/tools" "github.com/xxjwxc/gormt/data/config" "github.com/jroimartin/gocui" - "github.com/xxjwxc/public/myclipboard" "github.com/xxjwxc/public/mycui" ) @@ -79,7 +77,7 @@ func mainLayout(g *gocui.Gui) error { // } } - if v, err := g.SetView(_viewDefine, division(maxX, uiPart[0]), 1, maxX-1, maxY-3); err != nil { + if v, err := g.SetView(_viewDefine, division(maxX, uiPart[0]), 1, maxX-1, maxY-1); err != nil { if err != gocui.ErrUnknownView { return err } @@ -105,11 +103,6 @@ func nemuLayOut(g *gocui.Gui) { AddHandler(gocui.KeyArrowUp, menuDlg.prevButton).AddHandler(gocui.KeyArrowDown, menuDlg.nextButton). AddHandler(gocui.KeyEnter, enterSet).AddHandler(gocui.MouseLeft, enterSet)) - maxX, maxY := g.Size() // division(maxY, uiPart[1]) - clipboardBtn = mycui.NewButton(g, _clipboardBtn, SLocalize(_clipboardBtn), division(maxX, uiPart[0])+2, maxY-3, 5). - AddHandler(gocui.KeyEnter, enterClipboard).AddHandler(gocui.MouseLeft, enterClipboard) - clipboardBtn.Draw() - menuDlg.Draw() menuFocusButton(g) } @@ -170,24 +163,6 @@ func addlog(g *gocui.Gui, str string) error { return err } -func enterClipboard(g *gocui.Gui, v *gocui.View) error { - myclipboard.Set(copyInfo) - - maxX, _ := g.Size() - modal := mycui.NewModal(g, division(maxX, uiPart[0])+5, 10, division(maxX, uiPart[0])+35). - SetTextColor(gocui.ColorRed).SetText("copy success \n 已 复 制 到 剪 切 板 ") - modal.Mouse = true - // modal.SetBgColor(gocui.ColorRed) - _handle := func(g *gocui.Gui, v *gocui.View) error { - modal.Close() - return nil - } - modal.AddButton("ok", "OK", gocui.KeyEnter, _handle).AddHandler(gocui.MouseLeft, _handle) - modal.Draw() - - return nil -} - func enterRun(g *gocui.Gui, v *gocui.View) error { setlog(g, "run .... ing") generate(g, v) @@ -230,6 +205,8 @@ func enterSet(g *gocui.Gui, v *gocui.View) error { AddOptions(SLocalize("true"), SLocalize("false")).SetSelected(SLocalize(tools.AsString(config.GetIsForeignKey()))) form.AddSelect("is_gui", SLocalize("is_gui"), formPart[0], formPart[2]). AddOptions(SLocalize("true"), SLocalize("false")).SetSelected(SLocalize(tools.AsString(config.GetIsGUI()))) + form.AddSelect("is_table_name", SLocalize("is_table_name"), formPart[0], formPart[2]). + AddOptions(SLocalize("true"), SLocalize("false")).SetSelected(SLocalize(tools.AsString(config.GetIsTableName()))) form.AddSelect("url_tag", SLocalize("url_tag"), formPart[0], formPart[2]). AddOptions("json", "url").SetSelected(tools.AsString(config.GetURLTag())) form.AddSelect("db_tag", SLocalize("db_tag"), formPart[0], formPart[2]). @@ -267,14 +244,12 @@ func buttonSave(g *gocui.Gui, v *gocui.View) error { port, err := strconv.Atoi(mp["db_port"]) if err != nil { modal := mycui.NewModal(g, division(maxX, uiPart[0])+5, 10, division(maxX, uiPart[0])+35).SetTextColor(gocui.ColorRed).SetText("port error") - - _handle := func(g *gocui.Gui, v *gocui.View) error { + // modal.SetBgColor(gocui.ColorRed) + modal.AddButton("ok", "OK", gocui.KeyEnter, func(g *gocui.Gui, v *gocui.View) error { modal.Close() form.SetCurrentItem(form.GetCurrentItem()) return nil - } - // modal.SetBgColor(gocui.ColorRed) - modal.AddButton("ok", "OK", gocui.KeyEnter, _handle).AddHandler(gocui.MouseLeft, _handle) + }) modal.Draw() return nil @@ -294,18 +269,18 @@ func buttonSave(g *gocui.Gui, v *gocui.View) error { config.SetIsOutFunc(getBool(mp["is_out_func"])) config.SetForeignKey(getBool(mp["is_foreign_key"])) config.SetIsGUI(getBool(mp["is_gui"])) + config.SetIsTableName(getBool(mp["is_table_name"])) config.SetURLTag(mp["url_tag"]) config.SetDBTag(mp["db_tag"]) config.SetLG(mp["language"]) config.SaveToFile() modal := mycui.NewModal(g, division(maxX, uiPart[0])+5, 10, division(maxX, uiPart[0])+35).SetText("save success") - _handle := func(g *gocui.Gui, v *gocui.View) error { + modal.AddButton("ok", "OK", gocui.KeyEnter, func(g *gocui.Gui, v *gocui.View) error { modal.Close() buttonCancel(g, v) return nil - } - modal.AddButton("ok", "OK", gocui.KeyEnter, _handle).AddHandler(gocui.MouseLeft, _handle) + }) modal.Draw() return nil @@ -334,11 +309,10 @@ func showStruct(g *gocui.Gui, v *gocui.View) error { l = "" } - var out, out1 []string + var out []string for _, v := range gPkg.Structs { if v.Name == l { out = v.GeneratesColor() - out1 = v.Generates() break } } @@ -347,9 +321,6 @@ func showStruct(g *gocui.Gui, v *gocui.View) error { for _, v := range out { addlog(g, v) } - - copyInfo = strings.Join(out1, "\n") - return nil } diff --git a/data/dlg/def.go b/data/dlg/def.go index 8aa5b6c..9329e87 100644 --- a/data/dlg/def.go +++ b/data/dlg/def.go @@ -6,16 +6,15 @@ import ( ) const ( - _menuDefine = "menu" - _listDefine = "list" - _viewDefine = "view" - _run = "run" - _set = "set" - _clipboardBtn = "clipboardBtn" + _menuDefine = "menu" + _listDefine = "list" + _viewDefine = "view" + _run = "run" + _set = "set" ) var ( - uiPart = []float32{4, 5} // x,y 对应列表 + uiPart = []float32{4, 3} // x,y 对应列表 mainViewArr = []string{_menuDefine, _listDefine, _viewDefine} // 主菜单列表 mainIndex = 0 @@ -34,9 +33,6 @@ type listDetails struct { btnList []*mycui.Button } -var clipboardBtn *mycui.Button -var copyInfo string - var menuDlg *menuDetails var form *mycui.Form var gPkg genstruct.GenPackage diff --git a/data/dlg/i18n.go b/data/dlg/i18n.go index 8e7e375..52e4886 100644 --- a/data/dlg/i18n.go +++ b/data/dlg/i18n.go @@ -47,9 +47,6 @@ func addChinese() error { }, &i18n.Message{ ID: "set", Other: "设 置 🛠 ", - }, &i18n.Message{ - ID: "clipboardBtn", - Other: "复 制 到 剪 切 板 ", }, &i18n.Message{ ID: "out_dir", Other: " 输 出 目 录 :", @@ -89,6 +86,9 @@ func addChinese() error { }, &i18n.Message{ ID: "is_gui", Other: " 界 面 模 式 :", + }, &i18n.Message{ + ID: "is_table_name", + Other: " 生 成 表 名 :", }, &i18n.Message{ ID: "url_tag", Other: " web 标 签:", @@ -138,9 +138,6 @@ func addEnglish() error { }, &i18n.Message{ ID: "set", Other: "Set 🛠 ", - }, &i18n.Message{ - ID: "clipboardBtn", - Other: "Copy to clipboard", }, &i18n.Message{ ID: "out_dir", Other: "out dir:", @@ -180,6 +177,9 @@ func addEnglish() error { }, &i18n.Message{ ID: "is_gui", Other: "is show gui:", + }, &i18n.Message{ + ID: "is_table_name", + Other: "is table name:", }, &i18n.Message{ ID: "url_tag", Other: "url tag:", diff --git a/data/view/cnf/def.go b/data/view/cnf/def.go index 96c259f..3b4c442 100644 --- a/data/view/cnf/def.go +++ b/data/view/cnf/def.go @@ -10,8 +10,14 @@ var EImportsHead = map[string]string{ // TypeMysqlDicMp Accurate matching type.精确匹配类型 var TypeMysqlDicMp = map[string]string{ + "tinyint": "int8", + "tinyint unsigned": "uint8", + "smallint": "int16", + "smallint unsigned": "uint16", "int": "int", + "int unsigned": "uint", "bigint": "int64", + "bigint unsigned": "uint64", "varchar": "string", "char": "string", "date": "time.Time", @@ -33,15 +39,16 @@ var TypeMysqlDicMp = map[string]string{ // TypeMysqlMatchMp Fuzzy Matching Types.模糊匹配类型 var TypeMysqlMatchMp = map[string]string{ `^(tinyint)[(]\d+[)]`: "int8", - `^(smallint)[(]\d+[)]`: "int8", + `^(smallint)[(]\d+[)]`: "int16", `^(int)[(]\d+[)]`: "int", `^(bigint)[(]\d+[)]`: "int64", `^(char)[(]\d+[)]`: "string", - `^(enum)[(](.)+[)]`: "string", + `^(enum)[(](.)+[)]`: "string", `^(varchar)[(]\d+[)]`: "string", `^(varbinary)[(]\d+[)]`: "[]byte", `^(decimal)[(]\d+,\d+[)]`: "float64", `^(mediumint)[(]\d+[)]`: "string", `^(double)[(]\d+,\d+[)]`: "float64", `^(float)[(]\d+,\d+[)]`: "float64", + `^(datetime)[(]\d+[)]`: "time.Time", } diff --git a/data/view/genfunc/def.go b/data/view/genfunc/def.go index 21f0280..738b2c4 100644 --- a/data/view/genfunc/def.go +++ b/data/view/genfunc/def.go @@ -1,6 +1,12 @@ package genfunc const ( + genTnf = ` +// TableName get sql table name.获取数据库表名 +func (m *{{.StructName}}) TableName() string { + return "{{.TableName}}" +} +` genBase = ` package {{.PackageName}} import ( diff --git a/data/view/genfunc/genfunc.go b/data/view/genfunc/genfunc.go index bb09499..7e201dc 100644 --- a/data/view/genfunc/genfunc.go +++ b/data/view/genfunc/genfunc.go @@ -1,5 +1,10 @@ package genfunc +// GetGenTableNameTemp get gen base template str +func GetGenTableNameTemp() string { + return genTnf +} + // GetGenBaseTemp get gen base template str func GetGenBaseTemp() string { return genBase diff --git a/data/view/genstruct/common.go b/data/view/genstruct/common.go index 6ac64b0..a77e84a 100644 --- a/data/view/genstruct/common.go +++ b/data/view/genstruct/common.go @@ -1,13 +1,16 @@ package genstruct import ( + "bytes" "fmt" "sort" "strings" + "text/template" "github.com/xxjwxc/gormt/data/config" "github.com/xxjwxc/gormt/data/view/cnf" "github.com/xxjwxc/gormt/data/view/generate" + "github.com/xxjwxc/gormt/data/view/genfunc" ) // SetName Setting element name.设置元素名字 @@ -96,6 +99,11 @@ func (s *GenStruct) SetCreatTableStr(sql string) { s.SQLBuildStr = sql } +// SetTableName Setting the name of struct.设置struct名字 +func (s *GenStruct) SetTableName(name string) { + s.TableName = name +} + // SetStructName Setting the name of struct.设置struct名字 func (s *GenStruct) SetStructName(name string) { s.Name = name @@ -125,6 +133,21 @@ func (s *GenStruct) AddElement(e ...GenElement) { s.Em = append(s.Em, e...) } +func (s *GenStruct) GenerateTableName() []string { + tmpl, err := template.New("gen_tnf").Parse(genfunc.GetGenTableNameTemp()) + if err != nil { + panic(err) + } + var data struct { + TableName string + StructName string + } + data.TableName, data.StructName = s.TableName, s.Name + var buf bytes.Buffer + tmpl.Execute(&buf, data) + return []string{buf.String()} +} + // Generates Get the result data.获取结果数据 func (s *GenStruct) Generates() []string { var p generate.PrintAtom @@ -158,12 +181,8 @@ func (s *GenStruct) GeneratesColor() []string { } p.Add("\033[32;1m " + s.Notes + " \033[0m") p.Add("\033[34;1m type \033[0m", s.Name, "\033[34;1m struct \033[0m {") - mp := make(map[string]bool, len(s.Em)) for _, v := range s.Em { - if !mp[v.Name] { - mp[v.Name] = true - p.Add(" \t\t" + v.GenerateColor()) - } + p.Add(" \t\t" + v.GenerateColor()) } p.Add(" }") @@ -215,6 +234,16 @@ func (p *GenPackage) Generate() string { } // -----------end + // add table name func + if config.GetIsTableName() { + for _, v := range p.Structs { + for _, v1 := range v.GenerateTableName() { + pa.Add(v1) + } + } + } + // -----------end + // add func for _, v := range p.FuncStrList { pa.Add(v) diff --git a/data/view/genstruct/def.go b/data/view/genstruct/def.go index 5ecc8e9..4845d55 100644 --- a/data/view/genstruct/def.go +++ b/data/view/genstruct/def.go @@ -11,6 +11,7 @@ type GenElement struct { // GenStruct struct of IStruct .结构体 type GenStruct struct { SQLBuildStr string // Create SQL statements.创建sql语句 + TableName string // table_name.表名 Name string // name.名字 Notes string // notes.注释 Em []GenElement // em.元素组合 diff --git a/data/view/model/genmysql/genmysql.go b/data/view/model/genmysql/genmysql.go index af06019..687e41e 100644 --- a/data/view/model/genmysql/genmysql.go +++ b/data/view/model/genmysql/genmysql.go @@ -60,6 +60,18 @@ func (m *mysqlModel) GetPkgName() string { func getPackageInfo(orm *mysqldb.MySqlDB, info *model.DBInfo) { tabls := getTables(orm) // get table and notes + if m := config.GetTableList(); len(m) > 0 { + // 制定了表之后 + newTabls := make(map[string]string) + for t := range m { + if notes, ok := tabls[t]; ok { + newTabls[t] = notes + } else { + fmt.Printf("table: %s not found in db\n", t) + } + } + tabls = newTabls + } for tabName, notes := range tabls { var tab model.TabInfo tab.Name = tabName diff --git a/data/view/model/model.go b/data/view/model/model.go index dbc1ad8..641e234 100644 --- a/data/view/model/model.go +++ b/data/view/model/model.go @@ -29,7 +29,11 @@ func Generate(info DBInfo) (out []GenOutInfo, m _Model) { // struct var stt GenOutInfo stt.FileCtx = m.generate() - stt.FileName = info.DbName + ".go" + if fn := config.GetOutFileName(); fn != "" { + stt.FileName = fn + } else { + stt.FileName = info.DbName + ".go" + } out = append(out, stt) // ------end @@ -48,6 +52,7 @@ func (m *_Model) GetPackage() genstruct.GenPackage { pkg.SetPackage(m.info.PackageName) //package name for _, tab := range m.info.TabList { var sct genstruct.GenStruct + sct.SetTableName(tab.Name) sct.SetStructName(getCamelName(tab.Name)) // Big hump.大驼峰 sct.SetNotes(tab.Notes) sct.AddElement(m.genTableElement(tab.Em)...) // build element.构造元素 diff --git a/go.sum b/go.sum index 89a5129..ad41493 100644 --- a/go.sum +++ b/go.sum @@ -12,8 +12,6 @@ github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRF github.com/ant0ine/go-json-rest v3.3.2+incompatible/go.mod h1:q6aCt0GfU6LhpBsnZ/2U+mwe+0XB5WStbmwyoPfc+sk= github.com/apache/thrift v0.12.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= -github.com/atotto/clipboard v0.1.2 h1:YZCtFu5Ie8qX2VmVTBnrqLSiU9XOWwqNRmdT3gIQzbY= -github.com/atotto/clipboard v0.1.2/go.mod h1:ZY9tmq7sm5xIbd9bOK4onWV4S6X0u6GY7Vn0Yu86PYI= github.com/axgle/mahonia v0.0.0-20180208002826-3358181d7394 h1:OYA+5W64v3OgClL+IrOD63t4i/RW7RqrAVl9LTZ9UqQ= github.com/axgle/mahonia v0.0.0-20180208002826-3358181d7394/go.mod h1:Q8n74mJTIgjX4RBBcHnJ05h//6/k6foqmgE45jTQtxg= github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= @@ -25,7 +23,6 @@ github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8Nz github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/denisenkom/go-mssqldb v0.0.0-20190515213511-eb9f6a1743f3 h1:tkum0XDgfR0jcVVXuTsYv/erY2NnEDqwRojbxR1rBYA= github.com/denisenkom/go-mssqldb v0.0.0-20190515213511-eb9f6a1743f3/go.mod h1:zAg7JM8CkOJ43xKXIj7eRO9kmWm/TW578qo+oDO6tuM= @@ -36,6 +33,8 @@ github.com/erikstmartin/go-testdb v0.0.0-20160219214506-8d10e4a1bae5 h1:Yzb9+7DP github.com/erikstmartin/go-testdb v0.0.0-20160219214506-8d10e4a1bae5/go.mod h1:a2zkGnVExMxdzMo3M0Hi/3sEU+cWnZpSni0O6/Yb/P0= github.com/ezbuy/tgen v0.0.0-20180109020500-95ef13895032/go.mod h1:OeW1N0acAlRaGTlOG8jRZZUKEtyiGa0qvD+lWNWb9vs= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= +github.com/fzipp/gocyclo v0.0.0-20150627053110-6acd4345c835 h1:roDmqJ4Qes7hrDOsWsMCce0vQHz3xiMPjJ9m4c2eeNs= +github.com/fzipp/gocyclo v0.0.0-20150627053110-6acd4345c835/go.mod h1:BjL/N0+C+j9uNX+1xcNuM9vdSIcXCZrQZUYbXOFbgN8= github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= github.com/go-playground/locales v0.13.0 h1:HyWk6mgj5qFqCT5fjGBuRArbVDfE4hi8+e8ceBS/t7Q= @@ -53,7 +52,6 @@ github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfb github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= -github.com/google/go-cmp v0.2.0 h1:+dTQ8DZQJz0Mb/HjFlkptS1FeQ4cWSnN941F8aEG4SQ= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= @@ -82,10 +80,8 @@ github.com/kardianos/service v1.0.1-0.20191017145738-4df36c9fc1c6/go.mod h1:8CzD github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= -github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/leodido/go-urn v1.2.0 h1:hpXL4XnriNwQ/ABnpepYM/1vCLWNDfUNts8dX3xTG6Y= github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII= @@ -101,6 +97,7 @@ github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5 github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= +github.com/nicksnyder/go-i18n v2.0.3+incompatible h1:XCCaWsCoy4KlWkhOr+63dkv6oJmitJ573uJqDBAiFiQ= github.com/nicksnyder/go-i18n/v2 v2.0.3 h1:ks/JkQiOEhhuF6jpNvx+Wih1NIiXzUnZeZVnJuI8R8M= github.com/nicksnyder/go-i18n/v2 v2.0.3/go.mod h1:oDab7q8XCYMRlcrBnaY/7B1eOectbvj6B1UPBT+p5jo= github.com/nsf/termbox-go v0.0.0-20191229070316-58d4fcbce2a7 h1:OkWEy7aQeQTbgdrcGi9bifx+Y6bMM7ae7y42hDFaBvA= @@ -114,7 +111,6 @@ github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/9 github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= github.com/prometheus/client_golang v0.9.3-0.20190127221311-3c4408c8b829/go.mod h1:p2iRAGwDERtqlqzRXnrOVns+ignqQo//hLXqYxZYVNs= @@ -138,20 +134,21 @@ github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+ github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -github.com/stretchr/testify v1.4.0 h1:2E4SXV/wtOkTonXsotYi4li6zVWxYlZuYNCXe9XRJyk= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= github.com/syndtr/goleveldb v1.0.0/go.mod h1:ZVVdQEZoIme9iO1Ch2Jdy24qqXrMMOU6lpPAyBWyWuQ= github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0= github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= -github.com/xxjwxc/public v0.0.0-20200221114751-56810b3fcc29 h1:C0fnjiwnCBjovovCTkrjVXQtqd+UdVD2N8yaVK8LHwk= -github.com/xxjwxc/public v0.0.0-20200221114751-56810b3fcc29/go.mod h1:lhh94GsxhTweM/OaF7eFzOAgVV6fSSbBvA6zOtOVmdU= +github.com/xxjwxc/public v0.0.0-20191107073037-ea6b812d567f h1:PyaqoUhjkgpBGR/8LXWvk3yzrILMXC7Ygu8xhl5+sM8= +github.com/xxjwxc/public v0.0.0-20191107073037-ea6b812d567f/go.mod h1:j0CCXMUDtykGMfOoBpy1pfmzEeBk2JVusosjbgjfMZg= +github.com/xxjwxc/public v0.0.0-20200120133922-c61314a90a4a h1:sQ+O2UwDj1ShdZ6NLgp98cmaZLWrkFpVJB+wOzj1kDQ= +github.com/xxjwxc/public v0.0.0-20200120133922-c61314a90a4a/go.mod h1:UYQUNNJmUzNKpjY5ctz1n/XoJonmhAIgD51zS2rEsek= +github.com/xxjwxc/public v0.0.0-20200120153226-f36cf754df21 h1:1OF0Q6FGQhmziN4yvHLiF9XXOqfChL5z4rcogSQqCos= go.opencensus.io v0.20.1/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190325154230-a5d413f7728c h1:Vj5n4GlwjmQteupaxJ9+0FNOmBrHfq7vN4btdGoDZgI= golang.org/x/crypto v0.0.0-20190325154230-a5d413f7728c/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20190506204251-e1dfcc566284 h1:rlLehGeYg6jfoyz/eDqDU1iRXLKfR42nnNh57ytKEWo= golang.org/x/crypto v0.0.0-20190506204251-e1dfcc566284/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= @@ -198,7 +195,6 @@ golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3 golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= google.golang.org/api v0.3.1/go.mod h1:6wY9I6uQWHQ8EM57III9mq/AjF+i8G65rmVagqKMtkk= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= -google.golang.org/appengine v1.4.0 h1:/wp5JvzpHIxhs/dumFmF7BXTf3Z+dd4uXta4kVyO508= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= @@ -207,7 +203,6 @@ google.golang.org/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3 google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/eapache/queue.v1 v1.1.0/go.mod h1:wNtmx1/O7kZSR9zNT1TTOJ7GLpm3Vn7srzlfylFbQwU= gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= From bfb54391ac1ae5953a3d03bc14952943ffb0b51d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B0=A2=E5=B0=8F=E5=86=9B?= <346944475@qq.com> Date: Fri, 28 Feb 2020 20:28:15 +0800 Subject: [PATCH 07/14] add tinyint support add tinyint support --- data/view/cnf/def.go | 3 ++- data/view/model/model_test.go | 8 ++++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/data/view/cnf/def.go b/data/view/cnf/def.go index 96c259f..c51cbba 100644 --- a/data/view/cnf/def.go +++ b/data/view/cnf/def.go @@ -17,6 +17,7 @@ var TypeMysqlDicMp = map[string]string{ "date": "time.Time", "datetime": "time.Time", "bit(1)": "int8", + "tinyint": "int8", "tinyint(1)": "int8", "tinyint(1) unsigned": "int8", "json": "string", @@ -37,7 +38,7 @@ var TypeMysqlMatchMp = map[string]string{ `^(int)[(]\d+[)]`: "int", `^(bigint)[(]\d+[)]`: "int64", `^(char)[(]\d+[)]`: "string", - `^(enum)[(](.)+[)]`: "string", + `^(enum)[(](.)+[)]`: "string", `^(varchar)[(]\d+[)]`: "string", `^(varbinary)[(]\d+[)]`: "[]byte", `^(decimal)[(]\d+,\d+[)]`: "float64", diff --git a/data/view/model/model_test.go b/data/view/model/model_test.go index 47dd2ca..a95cd3b 100644 --- a/data/view/model/model_test.go +++ b/data/view/model/model_test.go @@ -8,6 +8,10 @@ import ( "github.com/xxjwxc/gormt/data/config" ) +func TestTypeName(t *testing.T) { + fmt.Println(getTypeName("tinyint")) +} + func TestTools(t *testing.T) { str := `{"DbName":"oauth_db","PackageName":"model","TabList":[{"Name":"user_account_tbl","Notes":"用户账号","SQLBuildStr":"","Em":[{"Name":"id","Notes":"","Type":"int(11)","Index":[{"Key":1,"KeyName":""}],"IsNull":false,"ForeignKeyList":null},{"Name":"account","Notes":"","Type":"varchar(64)","Index":[{"Key":2,"KeyName":""}],"IsNull":false,"ForeignKeyList":null},{"Name":"password","Notes":"","Type":"varchar(64)","Index":null,"IsNull":false,"ForeignKeyList":null},{"Name":"account_type","Notes":"帐号类型:0手机号,1邮件","Type":"int(11)","Index":null,"IsNull":false,"ForeignKeyList":null},{"Name":"app_key","Notes":"authbucket_oauth2_client表的id","Type":"varchar(255)","Index":null,"IsNull":false,"ForeignKeyList":null},{"Name":"user_info_tbl_id","Notes":"","Type":"int(11)","Index":[{"Key":3,"KeyName":"user_info_id"}],"IsNull":false,"ForeignKeyList":[{"TableName":"user_info_tbl","ColumnName":"id"}]},{"Name":"reg_time","Notes":"","Type":"datetime","Index":null,"IsNull":true,"ForeignKeyList":null},{"Name":"reg_ip","Notes":"","Type":"varchar(15)","Index":[{"Key":3,"KeyName":"user_info_id"}],"IsNull":true,"ForeignKeyList":null},{"Name":"bundle_id","Notes":"","Type":"varchar(255)","Index":null,"IsNull":true,"ForeignKeyList":null},{"Name":"describ","Notes":"","Type":"varchar(255)","Index":null,"IsNull":true,"ForeignKeyList":null}]},{"Name":"user_info_tbl","Notes":"用户信息","SQLBuildStr":"","Em":[{"Name":"","Notes":"","Type":"gorm.Model","Index":null,"IsNull":false,"ForeignKeyList":null},{"Name":"nickname","Notes":"","Type":"varchar(32)","Index":null,"IsNull":false,"ForeignKeyList":null},{"Name":"headurl","Notes":"","Type":"varchar(255)","Index":null,"IsNull":true,"ForeignKeyList":null}]},{"Name":"oauth2_access_token","Notes":"token认证","SQLBuildStr":"","Em":[{"Name":"id","Notes":"","Type":"int(11)","Index":[{"Key":1,"KeyName":""}],"IsNull":false,"ForeignKeyList":null},{"Name":"access_token","Notes":"","Type":"varchar(255)","Index":[{"Key":2,"KeyName":""}],"IsNull":false,"ForeignKeyList":null},{"Name":"token_type","Notes":"","Type":"varchar(255)","Index":null,"IsNull":false,"ForeignKeyList":null},{"Name":"app_key","Notes":"key","Type":"varchar(255)","Index":null,"IsNull":false,"ForeignKeyList":null},{"Name":"username","Notes":"用户名","Type":"varchar(255)","Index":null,"IsNull":false,"ForeignKeyList":null},{"Name":"expires","Notes":"过期时间","Type":"datetime","Index":null,"IsNull":false,"ForeignKeyList":null}]},{"Name":"user","Notes":"","SQLBuildStr":"","Em":[{"Name":"userId","Notes":"","Type":"int(11)","Index":[{"Key":1,"KeyName":""}],"IsNull":false,"ForeignKeyList":null},{"Name":"name","Notes":"","Type":"varchar(30)","Index":null,"IsNull":false,"ForeignKeyList":null},{"Name":"sex","Notes":"","Type":"int(11)","Index":[{"Key":3,"KeyName":""}],"IsNull":false,"ForeignKeyList":null},{"Name":"job","Notes":"","Type":"int(11)","Index":null,"IsNull":false,"ForeignKeyList":null}]},{"Name":"organ","Notes":"","SQLBuildStr":"","Em":[{"Name":"id","Notes":"","Type":"int(11)","Index":[{"Key":1,"KeyName":""}],"IsNull":false,"ForeignKeyList":null},{"Name":"userId","Notes":"","Type":"int(11)","Index":[{"Key":3,"KeyName":""}],"IsNull":true,"ForeignKeyList":[{"TableName":"user","ColumnName":"sex"}]},{"Name":"type","Notes":"","Type":"int(11)","Index":null,"IsNull":true,"ForeignKeyList":null},{"Name":"score","Notes":"","Type":"int(11)","Index":null,"IsNull":true,"ForeignKeyList":null}]},{"Name":"sign_client_tbl","Notes":"","SQLBuildStr":"","Em":[{"Name":"id","Notes":"","Type":"int(11)","Index":[{"Key":1,"KeyName":""}],"IsNull":false,"ForeignKeyList":null},{"Name":"app_key","Notes":"","Type":"varchar(255)","Index":null,"IsNull":false,"ForeignKeyList":null},{"Name":"app_secret","Notes":"","Type":"varchar(255)","Index":null,"IsNull":false,"ForeignKeyList":null},{"Name":"expire_time","Notes":"超时时间","Type":"datetime","Index":null,"IsNull":false,"ForeignKeyList":null},{"Name":"strict_sign","Notes":"是否强制验签:0:用户自定义,1:强制","Type":"int(255)","Index":null,"IsNull":true,"ForeignKeyList":null},{"Name":"strict_verify","Notes":"是否强制验证码:0:用户自定义,1:强制","Type":"int(11)","Index":null,"IsNull":false,"ForeignKeyList":null},{"Name":"token_expire_time","Notes":"token过期时间","Type":"int(11)","Index":null,"IsNull":false,"ForeignKeyList":null}]},{"Name":"user_paybill_order","Notes":"","SQLBuildStr":"","Em":[{"Name":"id","Notes":"","Type":"int(11)","Index":[{"Key":1,"KeyName":""}],"IsNull":false,"ForeignKeyList":null},{"Name":"paybill_id","Notes":"二次账单id","Type":"bigint(20)","Index":[{"Key":3,"KeyName":"order_id"}],"IsNull":false,"ForeignKeyList":null},{"Name":"order_id_mysql","Notes":"MySql中的订单Id","Type":"bigint(20)","Index":[{"Key":3,"KeyName":"order_id"}],"IsNull":false,"ForeignKeyList":null},{"Name":"order_item_id_mysql","Notes":"MySql中的订单ItemId","Type":"bigint(20)","Index":[{"Key":3,"KeyName":"order_id"}],"IsNull":false,"ForeignKeyList":null},{"Name":"order_id_mssql","Notes":"MsSql中的订单Id","Type":"bigint(20)","Index":null,"IsNull":false,"ForeignKeyList":null}]},{"Name":"oauth2_client_tbl","Notes":"client key 信息","SQLBuildStr":"","Em":[{"Name":"id","Notes":"","Type":"int(11)","Index":[{"Key":1,"KeyName":""}],"IsNull":false,"ForeignKeyList":null},{"Name":"app_key","Notes":"","Type":"varchar(255)","Index":null,"IsNull":false,"ForeignKeyList":null},{"Name":"app_secret","Notes":"","Type":"varchar(255)","Index":null,"IsNull":false,"ForeignKeyList":null},{"Name":"expire_time","Notes":"超时时间","Type":"datetime","Index":null,"IsNull":false,"ForeignKeyList":null},{"Name":"strict_sign","Notes":"是否强制验签:0:用户自定义,1:强制","Type":"int(255)","Index":null,"IsNull":true,"ForeignKeyList":null},{"Name":"strict_verify","Notes":"是否强制验证码:0:用户自定义,1:强制","Type":"int(11)","Index":null,"IsNull":false,"ForeignKeyList":null},{"Name":"token_expire_time","Notes":"token过期时间","Type":"int(11)","Index":null,"IsNull":false,"ForeignKeyList":null},{"Name":"aaa","Notes":"","Type":"json","Index":null,"IsNull":true,"ForeignKeyList":null}]},{"Name":"oauth2_refresh_token","Notes":"刷新token","SQLBuildStr":"","Em":[{"Name":"id","Notes":"","Type":"int(11)","Index":[{"Key":1,"KeyName":""}],"IsNull":false,"ForeignKeyList":null},{"Name":"refresh_token","Notes":"","Type":"varchar(255)","Index":[{"Key":2,"KeyName":""}],"IsNull":false,"ForeignKeyList":null},{"Name":"token_type","Notes":"","Type":"varchar(255)","Index":null,"IsNull":false,"ForeignKeyList":null},{"Name":"app_key","Notes":"","Type":"varchar(255)","Index":null,"IsNull":false,"ForeignKeyList":null},{"Name":"username","Notes":"","Type":"varchar(255)","Index":null,"IsNull":false,"ForeignKeyList":null},{"Name":"expires","Notes":"","Type":"datetime","Index":null,"IsNull":false,"ForeignKeyList":null},{"Name":"token_expire_time","Notes":"","Type":"int(11)","Index":null,"IsNull":false,"ForeignKeyList":null}]}]}` var pkg DBInfo @@ -15,12 +19,12 @@ func TestTools(t *testing.T) { // out, _ := json.Marshal(pkg) // tools.WriteFile("test.txt", []string{string(out)}, true) - list := Generate(pkg) + list, _ := Generate(pkg) fmt.Println(list) config.SetSingularTable(true) config.SetSingularTable(true) config.SetForeignKey(true) - list = Generate(pkg) + list, _ = Generate(pkg) fmt.Println(list) } From 1b3f54c940776b4067b2850a424c17a3fbb66a95 Mon Sep 17 00:00:00 2001 From: LLLLancelot <575401620@qq.com> Date: Fri, 28 Feb 2020 21:08:23 +0800 Subject: [PATCH 08/14] =?UTF-8?q?go.sum=E6=96=87=E4=BB=B6=E6=8F=90?= =?UTF-8?q?=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- go.sum | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/go.sum b/go.sum index ad41493..5a04fbb 100644 --- a/go.sum +++ b/go.sum @@ -12,6 +12,7 @@ github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRF github.com/ant0ine/go-json-rest v3.3.2+incompatible/go.mod h1:q6aCt0GfU6LhpBsnZ/2U+mwe+0XB5WStbmwyoPfc+sk= github.com/apache/thrift v0.12.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= +github.com/atotto/clipboard v0.1.2/go.mod h1:ZY9tmq7sm5xIbd9bOK4onWV4S6X0u6GY7Vn0Yu86PYI= github.com/axgle/mahonia v0.0.0-20180208002826-3358181d7394 h1:OYA+5W64v3OgClL+IrOD63t4i/RW7RqrAVl9LTZ9UqQ= github.com/axgle/mahonia v0.0.0-20180208002826-3358181d7394/go.mod h1:Q8n74mJTIgjX4RBBcHnJ05h//6/k6foqmgE45jTQtxg= github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= @@ -23,6 +24,7 @@ github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8Nz github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/denisenkom/go-mssqldb v0.0.0-20190515213511-eb9f6a1743f3 h1:tkum0XDgfR0jcVVXuTsYv/erY2NnEDqwRojbxR1rBYA= github.com/denisenkom/go-mssqldb v0.0.0-20190515213511-eb9f6a1743f3/go.mod h1:zAg7JM8CkOJ43xKXIj7eRO9kmWm/TW578qo+oDO6tuM= @@ -33,8 +35,6 @@ github.com/erikstmartin/go-testdb v0.0.0-20160219214506-8d10e4a1bae5 h1:Yzb9+7DP github.com/erikstmartin/go-testdb v0.0.0-20160219214506-8d10e4a1bae5/go.mod h1:a2zkGnVExMxdzMo3M0Hi/3sEU+cWnZpSni0O6/Yb/P0= github.com/ezbuy/tgen v0.0.0-20180109020500-95ef13895032/go.mod h1:OeW1N0acAlRaGTlOG8jRZZUKEtyiGa0qvD+lWNWb9vs= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= -github.com/fzipp/gocyclo v0.0.0-20150627053110-6acd4345c835 h1:roDmqJ4Qes7hrDOsWsMCce0vQHz3xiMPjJ9m4c2eeNs= -github.com/fzipp/gocyclo v0.0.0-20150627053110-6acd4345c835/go.mod h1:BjL/N0+C+j9uNX+1xcNuM9vdSIcXCZrQZUYbXOFbgN8= github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= github.com/go-playground/locales v0.13.0 h1:HyWk6mgj5qFqCT5fjGBuRArbVDfE4hi8+e8ceBS/t7Q= @@ -52,6 +52,7 @@ github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfb github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= +github.com/google/go-cmp v0.2.0 h1:+dTQ8DZQJz0Mb/HjFlkptS1FeQ4cWSnN941F8aEG4SQ= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= @@ -80,8 +81,10 @@ github.com/kardianos/service v1.0.1-0.20191017145738-4df36c9fc1c6/go.mod h1:8CzD github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= +github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/leodido/go-urn v1.2.0 h1:hpXL4XnriNwQ/ABnpepYM/1vCLWNDfUNts8dX3xTG6Y= github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII= @@ -97,7 +100,6 @@ github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5 github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= -github.com/nicksnyder/go-i18n v2.0.3+incompatible h1:XCCaWsCoy4KlWkhOr+63dkv6oJmitJ573uJqDBAiFiQ= github.com/nicksnyder/go-i18n/v2 v2.0.3 h1:ks/JkQiOEhhuF6jpNvx+Wih1NIiXzUnZeZVnJuI8R8M= github.com/nicksnyder/go-i18n/v2 v2.0.3/go.mod h1:oDab7q8XCYMRlcrBnaY/7B1eOectbvj6B1UPBT+p5jo= github.com/nsf/termbox-go v0.0.0-20191229070316-58d4fcbce2a7 h1:OkWEy7aQeQTbgdrcGi9bifx+Y6bMM7ae7y42hDFaBvA= @@ -111,6 +113,7 @@ github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/9 github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= github.com/prometheus/client_golang v0.9.3-0.20190127221311-3c4408c8b829/go.mod h1:p2iRAGwDERtqlqzRXnrOVns+ignqQo//hLXqYxZYVNs= @@ -134,21 +137,20 @@ github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+ github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +github.com/stretchr/testify v1.4.0 h1:2E4SXV/wtOkTonXsotYi4li6zVWxYlZuYNCXe9XRJyk= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= github.com/syndtr/goleveldb v1.0.0/go.mod h1:ZVVdQEZoIme9iO1Ch2Jdy24qqXrMMOU6lpPAyBWyWuQ= github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0= github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= -github.com/xxjwxc/public v0.0.0-20191107073037-ea6b812d567f h1:PyaqoUhjkgpBGR/8LXWvk3yzrILMXC7Ygu8xhl5+sM8= -github.com/xxjwxc/public v0.0.0-20191107073037-ea6b812d567f/go.mod h1:j0CCXMUDtykGMfOoBpy1pfmzEeBk2JVusosjbgjfMZg= -github.com/xxjwxc/public v0.0.0-20200120133922-c61314a90a4a h1:sQ+O2UwDj1ShdZ6NLgp98cmaZLWrkFpVJB+wOzj1kDQ= -github.com/xxjwxc/public v0.0.0-20200120133922-c61314a90a4a/go.mod h1:UYQUNNJmUzNKpjY5ctz1n/XoJonmhAIgD51zS2rEsek= -github.com/xxjwxc/public v0.0.0-20200120153226-f36cf754df21 h1:1OF0Q6FGQhmziN4yvHLiF9XXOqfChL5z4rcogSQqCos= +github.com/xxjwxc/public v0.0.0-20200221114751-56810b3fcc29 h1:C0fnjiwnCBjovovCTkrjVXQtqd+UdVD2N8yaVK8LHwk= +github.com/xxjwxc/public v0.0.0-20200221114751-56810b3fcc29/go.mod h1:lhh94GsxhTweM/OaF7eFzOAgVV6fSSbBvA6zOtOVmdU= go.opencensus.io v0.20.1/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190325154230-a5d413f7728c h1:Vj5n4GlwjmQteupaxJ9+0FNOmBrHfq7vN4btdGoDZgI= golang.org/x/crypto v0.0.0-20190325154230-a5d413f7728c/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20190506204251-e1dfcc566284 h1:rlLehGeYg6jfoyz/eDqDU1iRXLKfR42nnNh57ytKEWo= golang.org/x/crypto v0.0.0-20190506204251-e1dfcc566284/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= @@ -195,6 +197,7 @@ golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3 golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= google.golang.org/api v0.3.1/go.mod h1:6wY9I6uQWHQ8EM57III9mq/AjF+i8G65rmVagqKMtkk= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= +google.golang.org/appengine v1.4.0 h1:/wp5JvzpHIxhs/dumFmF7BXTf3Z+dd4uXta4kVyO508= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= @@ -203,6 +206,7 @@ google.golang.org/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3 google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/eapache/queue.v1 v1.1.0/go.mod h1:wNtmx1/O7kZSR9zNT1TTOJ7GLpm3Vn7srzlfylFbQwU= gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= From ce3904575d1378afb3591d73b96da22581e3c7aa Mon Sep 17 00:00:00 2001 From: xxjwxc Date: Sat, 29 Feb 2020 00:19:25 +0800 Subject: [PATCH 09/14] fix --- data/cmd/cmd.go | 11 ------- data/config/MyIni.go | 37 ++++++++------------- data/config/common.go | 49 +++++++++++++++++++++++----- data/dlg/cui.go | 46 ++++++++++++++++++++++---- data/dlg/def.go | 16 +++++---- data/dlg/i18n.go | 6 ++++ data/view/cnf/def.go | 3 +- data/view/genstruct/common.go | 12 +++---- data/view/model/genmysql/genmysql.go | 24 +++++++------- data/view/model/model.go | 7 ++-- go.sum | 1 + 11 files changed, 132 insertions(+), 80 deletions(-) diff --git a/data/cmd/cmd.go b/data/cmd/cmd.go index afe01e5..550e69c 100644 --- a/data/cmd/cmd.go +++ b/data/cmd/cmd.go @@ -22,7 +22,6 @@ var foreignKey bool var funcKey bool var ui bool var urlTag string -var tableList string var outFileName string var rootCmd = &cobra.Command{ @@ -75,9 +74,6 @@ func init() { rootCmd.PersistentFlags().StringVarP(&urlTag, "url", "l", "", "url标签(json,url)") rootCmd.MarkFlagRequired("url tag") - rootCmd.PersistentFlags().StringVarP(&tableList, "tablelist", "t", "", "目标table列表,以','隔开") - rootCmd.MarkFlagRequired("table list") - rootCmd.Flags().StringVar(&outFileName, "outfilename", "", "输出文件名,默认以数据库名称命名") rootCmd.Flags().IntVar(&mysqlInfo.Port, "port", 3306, "端口号") @@ -119,13 +115,6 @@ func MergeMysqlDbInfo() { if len(urlTag) > 0 { config.SetURLTag(urlTag) } - if len(tableList) > 0 { - m := make(map[string]struct{}) - for _, v := range strings.Split(tableList, ",") { - m[v] = struct{}{} - } - config.SetTableList(m) - } if len(outFileName) > 0 { if !strings.HasSuffix(outFileName, ".go") { outFileName += ".go" diff --git a/data/config/MyIni.go b/data/config/MyIni.go index 1689138..5b7225e 100644 --- a/data/config/MyIni.go +++ b/data/config/MyIni.go @@ -9,21 +9,20 @@ import ( // Config custom config struct type Config struct { CfgBase `yaml:"base"` - MySQLInfo MysqlDbInfo `yaml:"mysql_info"` - OutDir string `yaml:"out_dir"` - URLTag string `yaml:"url_tag"` // url tag - Language string `yaml:"language"` // language - DbTag string `yaml:"db_tag"` // 数据库标签(gormt,db) - Simple bool `yaml:"simple"` - IsWEBTag bool `yaml:"is_web_tag"` - SingularTable bool `yaml:"singular_table"` - IsForeignKey bool `yaml:"is_foreign_key"` - IsOutSQL bool `yaml:"is_out_sql"` - IsOutFunc bool `yaml:"is_out_func"` - IsGUI bool `yaml:"is_gui"` // - IsTableName bool `yaml:"is_table_name"` - TableList map[string]struct{} `yaml:"-"` - OutFileName string `yaml:"-"` + MySQLInfo MysqlDbInfo `yaml:"mysql_info"` + OutDir string `yaml:"out_dir"` + URLTag string `yaml:"url_tag"` // url tag + Language string `yaml:"language"` // language + DbTag string `yaml:"db_tag"` // 数据库标签(gormt,db) + Simple bool `yaml:"simple"` + IsWEBTag bool `yaml:"is_web_tag"` + SingularTable bool `yaml:"singular_table"` + IsForeignKey bool `yaml:"is_foreign_key"` + IsOutSQL bool `yaml:"is_out_sql"` + IsOutFunc bool `yaml:"is_out_func"` + IsGUI bool `yaml:"is_gui"` // + IsTableName bool `yaml:"is_table_name"` + OutFileName string `yaml:"-"` } // MysqlDbInfo mysql database information. mysql 数据库信息 @@ -145,14 +144,6 @@ func SetIsTableName(b bool) { _map.IsTableName = b } -func SetTableList(m map[string]struct{}) { - _map.TableList = m -} - -func GetTableList() map[string]struct{} { - return _map.TableList -} - func SetOutFileName(f string) { _map.OutFileName = f } diff --git a/data/config/common.go b/data/config/common.go index e389f97..af1fbd6 100644 --- a/data/config/common.go +++ b/data/config/common.go @@ -3,6 +3,8 @@ package config import ( "fmt" "io/ioutil" + "os" + "path" "github.com/xxjwxc/public/dev" "github.com/xxjwxc/public/tools" @@ -18,33 +20,65 @@ type CfgBase struct { IsDev bool `json:"is_dev" yaml:"is_dev"` // Is it a development version?是否是开发版本 } -var _map = Config{} +var _map = Config{ + CfgBase: CfgBase{ + IsDev: false, + }, + MySQLInfo: MysqlDbInfo{ + Host: "127.0.0.1", + Port: 3306, + Username: "root", + Password: "root", + Database: "test", + }, + OutDir: "./model", + URLTag: "json", + Language: "中 文", + DbTag: "gorm", + Simple: false, + IsWEBTag: false, + SingularTable: true, + IsForeignKey: true, + IsOutSQL: false, + IsOutFunc: true, + IsGUI: false, +} + +var configPath string func init() { + configPath = path.Join(tools.GetModelPath(), "config.yml") onInit() dev.OnSetDev(_map.IsDev) } func onInit() { - path := tools.GetModelPath() - err := InitFile(path + "/config.yml") + err := InitFile(configPath) if err != nil { - fmt.Println("InitFile: ", err.Error()) + fmt.Println("Load config file error: ", err.Error()) return } } // InitFile default value from file . func InitFile(filename string) error { + if _, e := os.Stat(filename); e != nil { + fmt.Println("init default config file: ", filename) + if err := SaveToFile(); err == nil { + fmt.Println("done,please restart.") + } else { + fmt.Println("shit,fail", err) + } + os.Exit(0) + } bs, err := ioutil.ReadFile(filename) if err != nil { return err } if err := yaml.Unmarshal(bs, &_map); err != nil { - fmt.Println("read toml error: ", err.Error()) + fmt.Println("read config file error: ", err.Error()) return err } - return nil } @@ -72,9 +106,8 @@ func SaveToFile() error { if err != nil { return err } - tools.WriteFile(tools.GetModelPath()+"/config.yml", []string{ + tools.WriteFile(configPath, []string{ string(d), }, true) - return nil } diff --git a/data/dlg/cui.go b/data/dlg/cui.go index c1aa437..8e5fc4e 100644 --- a/data/dlg/cui.go +++ b/data/dlg/cui.go @@ -4,12 +4,14 @@ import ( "fmt" "log" "strconv" + "strings" "github.com/xxjwxc/public/tools" "github.com/xxjwxc/gormt/data/config" "github.com/jroimartin/gocui" + "github.com/xxjwxc/public/myclipboard" "github.com/xxjwxc/public/mycui" ) @@ -77,7 +79,7 @@ func mainLayout(g *gocui.Gui) error { // } } - if v, err := g.SetView(_viewDefine, division(maxX, uiPart[0]), 1, maxX-1, maxY-1); err != nil { + if v, err := g.SetView(_viewDefine, division(maxX, uiPart[0]), 1, maxX-1, maxY-3); err != nil { if err != gocui.ErrUnknownView { return err } @@ -103,6 +105,11 @@ func nemuLayOut(g *gocui.Gui) { AddHandler(gocui.KeyArrowUp, menuDlg.prevButton).AddHandler(gocui.KeyArrowDown, menuDlg.nextButton). AddHandler(gocui.KeyEnter, enterSet).AddHandler(gocui.MouseLeft, enterSet)) + maxX, maxY := g.Size() // division(maxY, uiPart[1]) + clipboardBtn = mycui.NewButton(g, _clipboardBtn, SLocalize(_clipboardBtn), division(maxX, uiPart[0])+2, maxY-3, 5). + AddHandler(gocui.KeyEnter, enterClipboard).AddHandler(gocui.MouseLeft, enterClipboard) + clipboardBtn.Draw() + menuDlg.Draw() menuFocusButton(g) } @@ -163,6 +170,24 @@ func addlog(g *gocui.Gui, str string) error { return err } +func enterClipboard(g *gocui.Gui, v *gocui.View) error { + myclipboard.Set(copyInfo) + + maxX, _ := g.Size() + modal := mycui.NewModal(g, division(maxX, uiPart[0])+5, 10, division(maxX, uiPart[0])+35). + SetTextColor(gocui.ColorRed).SetText("copy success \n 已 复 制 到 剪 切 板 ") + modal.Mouse = true + // modal.SetBgColor(gocui.ColorRed) + _handle := func(g *gocui.Gui, v *gocui.View) error { + modal.Close() + return nil + } + modal.AddButton("ok", "OK", gocui.KeyEnter, _handle).AddHandler(gocui.MouseLeft, _handle) + modal.Draw() + + return nil +} + func enterRun(g *gocui.Gui, v *gocui.View) error { setlog(g, "run .... ing") generate(g, v) @@ -244,12 +269,14 @@ func buttonSave(g *gocui.Gui, v *gocui.View) error { port, err := strconv.Atoi(mp["db_port"]) if err != nil { modal := mycui.NewModal(g, division(maxX, uiPart[0])+5, 10, division(maxX, uiPart[0])+35).SetTextColor(gocui.ColorRed).SetText("port error") - // modal.SetBgColor(gocui.ColorRed) - modal.AddButton("ok", "OK", gocui.KeyEnter, func(g *gocui.Gui, v *gocui.View) error { + + _handle := func(g *gocui.Gui, v *gocui.View) error { modal.Close() form.SetCurrentItem(form.GetCurrentItem()) return nil - }) + } + // modal.SetBgColor(gocui.ColorRed) + modal.AddButton("ok", "OK", gocui.KeyEnter, _handle).AddHandler(gocui.MouseLeft, _handle) modal.Draw() return nil @@ -276,11 +303,12 @@ func buttonSave(g *gocui.Gui, v *gocui.View) error { config.SaveToFile() modal := mycui.NewModal(g, division(maxX, uiPart[0])+5, 10, division(maxX, uiPart[0])+35).SetText("save success") - modal.AddButton("ok", "OK", gocui.KeyEnter, func(g *gocui.Gui, v *gocui.View) error { + _handle := func(g *gocui.Gui, v *gocui.View) error { modal.Close() buttonCancel(g, v) return nil - }) + } + modal.AddButton("ok", "OK", gocui.KeyEnter, _handle).AddHandler(gocui.MouseLeft, _handle) modal.Draw() return nil @@ -309,10 +337,11 @@ func showStruct(g *gocui.Gui, v *gocui.View) error { l = "" } - var out []string + var out, out1 []string for _, v := range gPkg.Structs { if v.Name == l { out = v.GeneratesColor() + out1 = v.Generates() break } } @@ -321,6 +350,9 @@ func showStruct(g *gocui.Gui, v *gocui.View) error { for _, v := range out { addlog(g, v) } + + copyInfo = strings.Join(out1, "\n") + return nil } diff --git a/data/dlg/def.go b/data/dlg/def.go index 9329e87..8aa5b6c 100644 --- a/data/dlg/def.go +++ b/data/dlg/def.go @@ -6,15 +6,16 @@ import ( ) const ( - _menuDefine = "menu" - _listDefine = "list" - _viewDefine = "view" - _run = "run" - _set = "set" + _menuDefine = "menu" + _listDefine = "list" + _viewDefine = "view" + _run = "run" + _set = "set" + _clipboardBtn = "clipboardBtn" ) var ( - uiPart = []float32{4, 3} // x,y 对应列表 + uiPart = []float32{4, 5} // x,y 对应列表 mainViewArr = []string{_menuDefine, _listDefine, _viewDefine} // 主菜单列表 mainIndex = 0 @@ -33,6 +34,9 @@ type listDetails struct { btnList []*mycui.Button } +var clipboardBtn *mycui.Button +var copyInfo string + var menuDlg *menuDetails var form *mycui.Form var gPkg genstruct.GenPackage diff --git a/data/dlg/i18n.go b/data/dlg/i18n.go index 52e4886..8896b57 100644 --- a/data/dlg/i18n.go +++ b/data/dlg/i18n.go @@ -47,6 +47,9 @@ func addChinese() error { }, &i18n.Message{ ID: "set", Other: "设 置 🛠 ", + }, &i18n.Message{ + ID: "clipboardBtn", + Other: "复 制 到 剪 切 板 ", }, &i18n.Message{ ID: "out_dir", Other: " 输 出 目 录 :", @@ -138,6 +141,9 @@ func addEnglish() error { }, &i18n.Message{ ID: "set", Other: "Set 🛠 ", + }, &i18n.Message{ + ID: "clipboardBtn", + Other: "Copy to clipboard", }, &i18n.Message{ ID: "out_dir", Other: "out dir:", diff --git a/data/view/cnf/def.go b/data/view/cnf/def.go index f202658..b3e3ebe 100644 --- a/data/view/cnf/def.go +++ b/data/view/cnf/def.go @@ -10,8 +10,6 @@ var EImportsHead = map[string]string{ // TypeMysqlDicMp Accurate matching type.精确匹配类型 var TypeMysqlDicMp = map[string]string{ - "tinyint": "int8", - "tinyint unsigned": "uint8", "smallint": "int16", "smallint unsigned": "uint16", "int": "int", @@ -24,6 +22,7 @@ var TypeMysqlDicMp = map[string]string{ "datetime": "time.Time", "bit(1)": "int8", "tinyint": "int8", + "tinyint unsigned": "uint8", "tinyint(1)": "int8", "tinyint(1) unsigned": "int8", "json": "string", diff --git a/data/view/genstruct/common.go b/data/view/genstruct/common.go index a77e84a..83dd6c1 100644 --- a/data/view/genstruct/common.go +++ b/data/view/genstruct/common.go @@ -181,8 +181,12 @@ func (s *GenStruct) GeneratesColor() []string { } p.Add("\033[32;1m " + s.Notes + " \033[0m") p.Add("\033[34;1m type \033[0m", s.Name, "\033[34;1m struct \033[0m {") + mp := make(map[string]bool, len(s.Em)) for _, v := range s.Em { - p.Add(" \t\t" + v.GenerateColor()) + if !mp[v.Name] { + mp[v.Name] = true + p.Add(" \t\t" + v.GenerateColor()) + } } p.Add(" }") @@ -231,12 +235,8 @@ func (p *GenPackage) Generate() string { for _, v1 := range v.Generates() { pa.Add(v1) } - } - // -----------end - // add table name func - if config.GetIsTableName() { - for _, v := range p.Structs { + if config.GetIsTableName() { // add table name func for _, v1 := range v.GenerateTableName() { pa.Add(v1) } diff --git a/data/view/model/genmysql/genmysql.go b/data/view/model/genmysql/genmysql.go index 687e41e..da888e2 100644 --- a/data/view/model/genmysql/genmysql.go +++ b/data/view/model/genmysql/genmysql.go @@ -60,18 +60,18 @@ func (m *mysqlModel) GetPkgName() string { func getPackageInfo(orm *mysqldb.MySqlDB, info *model.DBInfo) { tabls := getTables(orm) // get table and notes - if m := config.GetTableList(); len(m) > 0 { - // 制定了表之后 - newTabls := make(map[string]string) - for t := range m { - if notes, ok := tabls[t]; ok { - newTabls[t] = notes - } else { - fmt.Printf("table: %s not found in db\n", t) - } - } - tabls = newTabls - } + // if m := config.GetTableList(); len(m) > 0 { + // // 制定了表之后 + // newTabls := make(map[string]string) + // for t := range m { + // if notes, ok := tabls[t]; ok { + // newTabls[t] = notes + // } else { + // fmt.Printf("table: %s not found in db\n", t) + // } + // } + // tabls = newTabls + // } for tabName, notes := range tabls { var tab model.TabInfo tab.Name = tabName diff --git a/data/view/model/model.go b/data/view/model/model.go index 641e234..8cc0885 100644 --- a/data/view/model/model.go +++ b/data/view/model/model.go @@ -29,11 +29,8 @@ func Generate(info DBInfo) (out []GenOutInfo, m _Model) { // struct var stt GenOutInfo stt.FileCtx = m.generate() - if fn := config.GetOutFileName(); fn != "" { - stt.FileName = fn - } else { - stt.FileName = info.DbName + ".go" - } + stt.FileName = info.DbName + ".go" + out = append(out, stt) // ------end diff --git a/go.sum b/go.sum index 5a04fbb..89a5129 100644 --- a/go.sum +++ b/go.sum @@ -12,6 +12,7 @@ github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRF github.com/ant0ine/go-json-rest v3.3.2+incompatible/go.mod h1:q6aCt0GfU6LhpBsnZ/2U+mwe+0XB5WStbmwyoPfc+sk= github.com/apache/thrift v0.12.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= +github.com/atotto/clipboard v0.1.2 h1:YZCtFu5Ie8qX2VmVTBnrqLSiU9XOWwqNRmdT3gIQzbY= github.com/atotto/clipboard v0.1.2/go.mod h1:ZY9tmq7sm5xIbd9bOK4onWV4S6X0u6GY7Vn0Yu86PYI= github.com/axgle/mahonia v0.0.0-20180208002826-3358181d7394 h1:OYA+5W64v3OgClL+IrOD63t4i/RW7RqrAVl9LTZ9UqQ= github.com/axgle/mahonia v0.0.0-20180208002826-3358181d7394/go.mod h1:Q8n74mJTIgjX4RBBcHnJ05h//6/k6foqmgE45jTQtxg= From 3e9ca8e8ebe66376b5d65b30f4a4f234ef9566ad Mon Sep 17 00:00:00 2001 From: zilinyo <32692697+zilinyo@users.noreply.github.com> Date: Sat, 29 Feb 2020 23:03:17 +0800 Subject: [PATCH 10/14] Update def.go --- data/view/cnf/def.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/view/cnf/def.go b/data/view/cnf/def.go index b3e3ebe..df8bfc2 100644 --- a/data/view/cnf/def.go +++ b/data/view/cnf/def.go @@ -32,7 +32,7 @@ var TypeMysqlDicMp = map[string]string{ "mediumtext": "string", "longtext": "string", "float": "float32", - "tinytext": "stirng", + "tinytext": "string", "enum": "string", } From 43410a1b277242bdaac1cc4af2cce1a1d8226a05 Mon Sep 17 00:00:00 2001 From: xxj <346944475@qq.com> Date: Mon, 9 Mar 2020 18:06:54 +0800 Subject: [PATCH 11/14] update tag --- config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config.yml b/config.yml index 421e155..d429c33 100644 --- a/config.yml +++ b/config.yml @@ -8,7 +8,7 @@ singular_table : true # 单表模式:true:禁用表名复数,false:采用表名 simple : false # 简单输出(默认gorm标签不输出) is_out_sql : false # 是否输出 sql 原信息 is_out_func : true # 是否输出 快捷函数 -is_url_tag : true # 是否打web标记 +is_web_tag : true # 是否打web标记(json标记前提条件) is_foreign_key : true # 是否导出外键关联 is_gui : false # 是否ui模式显示 is_table_name : false # 是否直接生成表名函数 From 2a560112eebbdc21115a8ca6e664a6b3e83ebba8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B0=A2=E5=B0=8F=E5=86=9B?= <346944475@qq.com> Date: Mon, 9 Mar 2020 18:14:04 +0800 Subject: [PATCH 12/14] new --- doc/export.md | 8 ++++---- doc/export_cn.md | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/doc/export.md b/doc/export.md index cef3192..789550c 100644 --- a/doc/export.md +++ b/doc/export.md @@ -60,7 +60,7 @@ type UserAccountTbl struct { ### Simple-export-with-JSON -- param:singular_table = false simple = true is_json_tag = true is_foreign_key = false +- param:singular_table = false simple = true is_web_tag = true is_foreign_key = false ###### --->export result @@ -84,7 +84,7 @@ type UserAccountTbl struct { ### Simple export without JSON -- param:singular_table = false simple = true is_json_tag = false is_foreign_key = false +- param:singular_table = false simple = true is_web_tag = false is_foreign_key = false ###### --->export result @@ -108,7 +108,7 @@ type UserAccountTbl struct { ### Simple with foreign key mode export -- param:singular_table = false simple = true is_json_tag = false is_foreign_key = true +- param:singular_table = false simple = true is_web_tag = false is_foreign_key = true ###### --->export result @@ -147,7 +147,7 @@ CREATE TABLE `user_info_tbl` ( ### Support export gorm.model -- param:singular_table = false simple = true is_json_tag = false +- param:singular_table = false simple = true is_web_tag = false ###### --->export result diff --git a/doc/export_cn.md b/doc/export_cn.md index f643d61..8521058 100644 --- a/doc/export_cn.md +++ b/doc/export_cn.md @@ -60,7 +60,7 @@ type UserAccountTbl struct { ### 简单带json导出 -- 参数:singular_table = false simple = true is_json_tag = true is_foreign_key = false +- 参数:singular_table = false simple = true is_web_tag = true is_foreign_key = false ###### --->导出结果 @@ -84,7 +84,7 @@ type UserAccountTbl struct { ### 简单不带json导出 -- 参数:singular_table = false simple = true is_json_tag = false is_foreign_key = false +- 参数:singular_table = false simple = true is_web_tag = false is_foreign_key = false ###### --->导出结果 @@ -108,7 +108,7 @@ type UserAccountTbl struct { ### 简单带外键模式导出 -- 参数:singular_table = false simple = true is_json_tag = false is_foreign_key = true +- 参数:singular_table = false simple = true is_web_tag = false is_foreign_key = true ###### --->导出结果 @@ -147,7 +147,7 @@ CREATE TABLE `user_info_tbl` ( ### 支持gorm.Model模式导出 -- 参数:singular_table = false simple = true is_json_tag = false +- 参数:singular_table = false simple = true is_web_tag = false ###### --->导出结果 From a327605fb26856a2d5a41af821044cb2d43476ac Mon Sep 17 00:00:00 2001 From: xxjwxc Date: Sat, 4 Apr 2020 19:12:14 +0800 Subject: [PATCH 13/14] more type support binary(n),tinyint(n) unsigned support. --- data/cmd/cmd.go | 2 +- data/view/cnf/def.go | 28 +++++++++++++++------------- go.mod | 4 +--- go.sum | 19 +++++++++++++++++-- 4 files changed, 34 insertions(+), 19 deletions(-) diff --git a/data/cmd/cmd.go b/data/cmd/cmd.go index 550e69c..3609dbb 100644 --- a/data/cmd/cmd.go +++ b/data/cmd/cmd.go @@ -90,7 +90,7 @@ func initConfig() { os.Exit(1) } else { fmt.Println("using config info:") - fmt.Println(tools.GetJSONStr(config.GetMysqlDbInfo())) + fmt.Println(tools.GetJSONStr(config.GetMysqlDbInfo(), true)) } } diff --git a/data/view/cnf/def.go b/data/view/cnf/def.go index df8bfc2..bb53d63 100644 --- a/data/view/cnf/def.go +++ b/data/view/cnf/def.go @@ -38,17 +38,19 @@ var TypeMysqlDicMp = map[string]string{ // TypeMysqlMatchMp Fuzzy Matching Types.模糊匹配类型 var TypeMysqlMatchMp = map[string]string{ - `^(tinyint)[(]\d+[)]`: "int8", - `^(smallint)[(]\d+[)]`: "int16", - `^(int)[(]\d+[)]`: "int", - `^(bigint)[(]\d+[)]`: "int64", - `^(char)[(]\d+[)]`: "string", - `^(enum)[(](.)+[)]`: "string", - `^(varchar)[(]\d+[)]`: "string", - `^(varbinary)[(]\d+[)]`: "[]byte", - `^(decimal)[(]\d+,\d+[)]`: "float64", - `^(mediumint)[(]\d+[)]`: "string", - `^(double)[(]\d+,\d+[)]`: "float64", - `^(float)[(]\d+,\d+[)]`: "float64", - `^(datetime)[(]\d+[)]`: "time.Time", + `^(tinyint)[(]\d+[)]`: "int8", + `^(tinyint)[(]\d+[)] unsigned`: "uint8", + `^(smallint)[(]\d+[)]`: "int16", + `^(int)[(]\d+[)]`: "int", + `^(bigint)[(]\d+[)]`: "int64", + `^(char)[(]\d+[)]`: "string", + `^(enum)[(](.)+[)]`: "string", + `^(varchar)[(]\d+[)]`: "string", + `^(varbinary)[(]\d+[)]`: "[]byte", + `^(binary)[(]\d+[)]`: "[]byte", + `^(decimal)[(]\d+,\d+[)]`: "float64", + `^(mediumint)[(]\d+[)]`: "string", + `^(double)[(]\d+,\d+[)]`: "float64", + `^(float)[(]\d+,\d+[)]`: "float64", + `^(datetime)[(]\d+[)]`: "time.Time", } diff --git a/go.mod b/go.mod index d606472..e492224 100644 --- a/go.mod +++ b/go.mod @@ -7,13 +7,11 @@ require ( github.com/go-sql-driver/mysql v1.4.1 github.com/jinzhu/gorm v1.9.11 github.com/jroimartin/gocui v0.4.0 - github.com/kr/pretty v0.1.0 // indirect github.com/leodido/go-urn v1.2.0 // indirect github.com/nicksnyder/go-i18n/v2 v2.0.3 github.com/spf13/cobra v0.0.5 - github.com/xxjwxc/public v0.0.0-20200221114751-56810b3fcc29 + github.com/xxjwxc/public v0.0.0-20200329130606-2b6bdf6dc342 golang.org/x/text v0.3.2 - gopkg.in/go-playground/assert.v1 v1.2.1 // indirect gopkg.in/go-playground/validator.v9 v9.30.2 gopkg.in/yaml.v2 v2.2.7 // indirect gopkg.in/yaml.v3 v3.0.0-20191120175047-4206685974f2 diff --git a/go.sum b/go.sum index 89a5129..4874d52 100644 --- a/go.sum +++ b/go.sum @@ -12,12 +12,14 @@ github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRF github.com/ant0ine/go-json-rest v3.3.2+incompatible/go.mod h1:q6aCt0GfU6LhpBsnZ/2U+mwe+0XB5WStbmwyoPfc+sk= github.com/apache/thrift v0.12.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= +github.com/astaxie/beego v1.7.1/go.mod h1:0R4++1tUqERR0WYFWdfkcrsyoVBCG4DgpDGokT3yb+U= github.com/atotto/clipboard v0.1.2 h1:YZCtFu5Ie8qX2VmVTBnrqLSiU9XOWwqNRmdT3gIQzbY= github.com/atotto/clipboard v0.1.2/go.mod h1:ZY9tmq7sm5xIbd9bOK4onWV4S6X0u6GY7Vn0Yu86PYI= github.com/axgle/mahonia v0.0.0-20180208002826-3358181d7394 h1:OYA+5W64v3OgClL+IrOD63t4i/RW7RqrAVl9LTZ9UqQ= github.com/axgle/mahonia v0.0.0-20180208002826-3358181d7394/go.mod h1:Q8n74mJTIgjX4RBBcHnJ05h//6/k6foqmgE45jTQtxg= github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= github.com/bitly/go-simplejson v0.5.0/go.mod h1:cXHtHw4XUPsvGaxgjIAn8PhEWG9NfngEKAMDJEczWVA= +github.com/bradfitz/gomemcache v0.0.0-20160117192205-fb1f79c6b65a/go.mod h1:PmM6Mmwb0LSuEubjR8N7PtNe1KxZLtOUHtbeikc5h60= github.com/btcsuite/winsvc v1.0.0/go.mod h1:jsenWakMcC0zFBFurPLEAyrnc/teJEM1O46fmI40EZs= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= @@ -36,6 +38,7 @@ github.com/erikstmartin/go-testdb v0.0.0-20160219214506-8d10e4a1bae5 h1:Yzb9+7DP github.com/erikstmartin/go-testdb v0.0.0-20160219214506-8d10e4a1bae5/go.mod h1:a2zkGnVExMxdzMo3M0Hi/3sEU+cWnZpSni0O6/Yb/P0= github.com/ezbuy/tgen v0.0.0-20180109020500-95ef13895032/go.mod h1:OeW1N0acAlRaGTlOG8jRZZUKEtyiGa0qvD+lWNWb9vs= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= +github.com/gin-gonic/gin v1.1.4/go.mod h1:7cKuhb5qV2ggCFctp2fJQ+ErvciLZrIeoOSOm6mUr7Y= github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= github.com/go-playground/locales v0.13.0 h1:HyWk6mgj5qFqCT5fjGBuRArbVDfE4hi8+e8ceBS/t7Q= @@ -50,8 +53,10 @@ github.com/gogo/protobuf v1.2.0/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7a github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/protobuf v0.0.0-20161117033126-8ee79997227b/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/gomodule/redigo v2.0.1-0.20180627144507-2cd21d9966bf+incompatible/go.mod h1:B4C85qUVwatsJoIUNIfCRsp7qO0iAmpGFZ4EELWSbC4= github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/go-cmp v0.2.0 h1:+dTQ8DZQJz0Mb/HjFlkptS1FeQ4cWSnN941F8aEG4SQ= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= @@ -93,6 +98,8 @@ github.com/lib/pq v1.1.1 h1:sJZmqHoEaY7f+NPP8pgLB/WxulyR3fewgCM2qaSlBb4= github.com/lib/pq v1.1.1/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= github.com/mailru/easyjson v0.7.0/go.mod h1:KAzv3t3aY1NaHWoQz1+4F1ccyAH66Jk7yos7ldAVICs= +github.com/manucorporat/sse v0.0.0-20160126180136-ee05b128a739/go.mod h1:zUx1mhth20V3VKgL5jbd1BSQcW4Fy6Qs4PZvQwRFwzM= +github.com/mattn/go-isatty v0.0.0-20161123143637-30a891c33c7c/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= github.com/mattn/go-runewidth v0.0.8 h1:3tS41NlGYSmhhe/8fhGRzc+z3AYCw1Fe1WAyLuujKs0= github.com/mattn/go-runewidth v0.0.8/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= github.com/mattn/go-sqlite3 v1.11.0 h1:LDdKkqtYlom37fkvqs8rMPFKAMe8+SgjbwZ6ex1/A/Q= @@ -100,6 +107,7 @@ github.com/mattn/go-sqlite3 v1.11.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsO github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= +github.com/muesli/cache2go v0.0.0-20191019095710-4098a3aa8c94/go.mod h1:414R+qZrt4f9S2TO/s6YVQMNAXR2KdwqQ7pW+O4oYzU= github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= github.com/nicksnyder/go-i18n/v2 v2.0.3 h1:ks/JkQiOEhhuF6jpNvx+Wih1NIiXzUnZeZVnJuI8R8M= github.com/nicksnyder/go-i18n/v2 v2.0.3/go.mod h1:oDab7q8XCYMRlcrBnaY/7B1eOectbvj6B1UPBT+p5jo= @@ -125,6 +133,7 @@ github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R github.com/prometheus/procfs v0.0.0-20190117184657-bf6a532e95b1/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= +github.com/silenceper/wechat v1.2.3/go.mod h1:sEqmYpYrwwMCXUSzTaxcA78+fd0p+srrj8qRkOnpbLQ= github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= @@ -143,8 +152,8 @@ github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81P github.com/syndtr/goleveldb v1.0.0/go.mod h1:ZVVdQEZoIme9iO1Ch2Jdy24qqXrMMOU6lpPAyBWyWuQ= github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0= github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= -github.com/xxjwxc/public v0.0.0-20200221114751-56810b3fcc29 h1:C0fnjiwnCBjovovCTkrjVXQtqd+UdVD2N8yaVK8LHwk= -github.com/xxjwxc/public v0.0.0-20200221114751-56810b3fcc29/go.mod h1:lhh94GsxhTweM/OaF7eFzOAgVV6fSSbBvA6zOtOVmdU= +github.com/xxjwxc/public v0.0.0-20200329130606-2b6bdf6dc342 h1:qHG/g/AaeBKx+8XiGr5QTYIOoTojfea9ikTCqdYuAEs= +github.com/xxjwxc/public v0.0.0-20200329130606-2b6bdf6dc342/go.mod h1:8c3gMuRJkSGX3DpDvxU0fWfEEbuMi1LxPsKEBp97dnc= go.opencensus.io v0.20.1/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= @@ -167,6 +176,7 @@ golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73r golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20191125084936-ffdde1057850/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -174,6 +184,7 @@ golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -209,12 +220,16 @@ gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLks gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 h1:YR8cESwS4TdDjEe65xsg0ogRM/Nc3DYOhEAlW+xobZo= +gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/eapache/queue.v1 v1.1.0/go.mod h1:wNtmx1/O7kZSR9zNT1TTOJ7GLpm3Vn7srzlfylFbQwU= gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= gopkg.in/go-playground/assert.v1 v1.2.1 h1:xoYuJVE7KT85PYWrN730RguIQO0ePzVRfFMXadIrXTM= gopkg.in/go-playground/assert.v1 v1.2.1/go.mod h1:9RXL0bg/zibRAgZUYszZSwO/z8Y/a8bDuhia5mkpMnE= +gopkg.in/go-playground/validator.v8 v8.18.1/go.mod h1:RX2a/7Ha8BgOhfk7j780h4/u/RRjR0eouCJSH80/M2Y= gopkg.in/go-playground/validator.v9 v9.30.2 h1:icxYLlYflpazIV3ufMoNB9h9SYMQ37DZ8CTwkU4pnOs= gopkg.in/go-playground/validator.v9 v9.30.2/go.mod h1:+c9/zcJMFNgbLvly1L1V+PpxWdVbfP1avr/N00E2vyQ= +gopkg.in/go-with/wxpay.v1 v1.3.0/go.mod h1:12lWy92n19pAUSSE3BrOiEZbWRkl+9tneOd/aU/LU6g= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= From 6271a320f5930059729668b8268f107b7d5c488c Mon Sep 17 00:00:00 2001 From: xxjwxc Date: Sat, 4 Apr 2020 19:15:44 +0800 Subject: [PATCH 14/14] Update def.go --- data/view/cnf/def.go | 1 + 1 file changed, 1 insertion(+) diff --git a/data/view/cnf/def.go b/data/view/cnf/def.go index bb53d63..de2c5b2 100644 --- a/data/view/cnf/def.go +++ b/data/view/cnf/def.go @@ -34,6 +34,7 @@ var TypeMysqlDicMp = map[string]string{ "float": "float32", "tinytext": "string", "enum": "string", + "time": "time.Time", } // TypeMysqlMatchMp Fuzzy Matching Types.模糊匹配类型