diff --git a/Makefile b/Makefile index ed1d893..d057416 100644 --- a/Makefile +++ b/Makefile @@ -1,11 +1,11 @@ all: # 构建 make tar windows: - CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build -o gormt.exe main.go + CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build -ldflags "-s -w" -o gormt.exe main.go mac: - CGO_ENABLED=1 GOOS=darwin GOARCH=amd64 go build -o gormt main.go + CGO_ENABLED=1 GOOS=darwin GOARCH=amd64 go build -ldflags "-s -w" -o gormt main.go linux: - CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o gormt main.go + CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags "-s -w" -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 diff --git a/README.md b/README.md index ed4064a..976634d 100644 --- a/README.md +++ b/README.md @@ -199,6 +199,7 @@ CHCP 65001 ### table notes default - Add a comment to the column starting with `[@gormt default:'test']` +- example `[@gormt default:'test';->;<-:create]this is my notes` Indicates that the default value is 'test',can read/creat/write ## 9. one windows gui tools diff --git a/README_zh_cn.md b/README_zh_cn.md index 13b4b22..a8b1dff 100644 --- a/README_zh_cn.md +++ b/README_zh_cn.md @@ -206,9 +206,10 @@ go generate CHCP 65001 ``` -### 表注释 default +### 表注释 tag -- 给列添加注释以`[@gormt default:'test']`开头即可 +- 给列添加注释以`[@gormt default:'test']`开头即可 +- 比如`[@gormt default:'test';->;<-:create]这是注释内容` 表示默认值为'test',允许读,更新创建 ## 8. 下一步计划 diff --git a/data/view/model/def.go b/data/view/model/def.go index 27ac6ca..eacb5d8 100644 --- a/data/view/model/def.go +++ b/data/view/model/def.go @@ -40,7 +40,7 @@ type ColumnsInfo struct { BaseInfo IsNull bool // null if db is set null Type string // Type.类型标记 - Default string // 默认值 + Gormt string // 默认值 Index []KList // index list.index列表 ForeignKeyList []ForeignKey // Foreign key list . 表的外键信息 } diff --git a/data/view/model/genmysql/common.go b/data/view/model/genmysql/common.go index dea79c4..9a39d00 100644 --- a/data/view/model/genmysql/common.go +++ b/data/view/model/genmysql/common.go @@ -53,22 +53,13 @@ func GetModel() model.IModel { return &MySQLModel } -// FixElementNote 分析元素表注释 -func FixElementNote(em *model.ColumnsInfo, note string) { +// FixElementTag 分析元素表注释 +func FixElementTag(em *model.ColumnsInfo, note string) { matches := noteRegex.FindStringSubmatch(note) if len(matches) < 2 { em.Notes = note return } em.Notes = note[len(matches[0]):] - - list := strings.Split(matches[1], ";") - for _, v := range list { - tmp := strings.Split(v, ":") - if len(tmp) == 2 { - if strings.EqualFold(tmp[0], "default") { // 默认值 - em.Default = tmp[1] - } - } - } + em.Gormt = matches[1] } diff --git a/data/view/model/genmysql/genmysql.go b/data/view/model/genmysql/genmysql.go index 81a4b66..5e8fb22 100644 --- a/data/view/model/genmysql/genmysql.go +++ b/data/view/model/genmysql/genmysql.go @@ -142,7 +142,7 @@ func (m *mysqlModel) getTableElement(orm *mysqldb.MySqlDB, tab string) (el []mod var tmp model.ColumnsInfo tmp.Name = v.Field tmp.Type = v.Type - FixElementNote(&tmp, v.Desc) + FixElementTag(&tmp, v.Desc) // 分析表注释 // keys if keylist, ok := KeyColumnMp[v.Field]; ok { // maybe have index or key diff --git a/data/view/model/gensqlite/common.go b/data/view/model/gensqlite/common.go index cc0b96b..b382c51 100644 --- a/data/view/model/gensqlite/common.go +++ b/data/view/model/gensqlite/common.go @@ -53,22 +53,13 @@ func GetModel() model.IModel { return &SQLiteModel } -// FixElementNote 分析元素表注释 -func FixElementNote(em *model.ColumnsInfo, note string) { +// FixElementTag 分析元素表注释 +func FixElementTag(em *model.ColumnsInfo, note string) { matches := noteRegex.FindStringSubmatch(note) if len(matches) < 2 { em.Notes = note return } em.Notes = note[len(matches[0]):] - - list := strings.Split(matches[1], ";") - for _, v := range list { - tmp := strings.Split(v, ":") - if len(tmp) == 2 { - if strings.EqualFold(tmp[0], "default") { // 默认值 - em.Default = tmp[1] - } - } - } + em.Gormt = matches[1] } diff --git a/data/view/model/gensqlite/gensqlite.go b/data/view/model/gensqlite/gensqlite.go index 5fd0b87..23348bf 100644 --- a/data/view/model/gensqlite/gensqlite.go +++ b/data/view/model/gensqlite/gensqlite.go @@ -147,7 +147,7 @@ func (m *sqliteModel) getTableElement(orm *gorm.DB, tab string) (el []model.Colu var tmp model.ColumnsInfo tmp.Name = v.Name tmp.Type = v.Type - FixElementNote(&tmp, "") + FixElementTag(&tmp, "") if v.Pk == 1 { // 主键 tmp.Index = append(tmp.Index, model.KList{ Key: model.ColumnsKeyPrimary, diff --git a/data/view/model/model.go b/data/view/model/model.go index f738adf..24a9481 100644 --- a/data/view/model/model.go +++ b/data/view/model/model.go @@ -108,8 +108,8 @@ func (m *_Model) genTableElement(cols []ColumnsInfo) (el []genstruct.GenElement) } } // default tag - if len(v.Default) > 0 { - tmp.AddTag(_tagGorm, "default:"+v.Default) + if len(v.Gormt) > 0 { + tmp.AddTag(_tagGorm, v.Gormt) } // json tag diff --git a/gormt.exe b/gormt.exe new file mode 100644 index 0000000..0d96e59 Binary files /dev/null and b/gormt.exe differ