add column support
支持列名导出
This commit is contained in:
@@ -11,7 +11,7 @@ is_web_tag : true # 是否打web标记(json标记前提条件)
|
||||
is_web_tag_pk_hidden: true # web标记是否隐藏主键
|
||||
is_foreign_key : true # 是否导出外键关联
|
||||
is_gui : false # 是否ui模式显示
|
||||
is_table_name : false # 是否直接生成表名函数
|
||||
is_table_name : true # 是否直接生成表名,列名
|
||||
is_null_to_point : false # 数据库默认 'DEFAULT NULL' 时设置结构为指针类型
|
||||
db_info:
|
||||
host : 127.0.0.1 # type=1的时候,host为yml文件全路径
|
||||
|
||||
@@ -6,6 +6,14 @@ const (
|
||||
func (m *{{.StructName}}) TableName() string {
|
||||
return "{{.TableName}}"
|
||||
}
|
||||
`
|
||||
genColumn = `
|
||||
// {{.StructName}}Columns get sql column name.获取数据库列名
|
||||
var {{.StructName}}Columns = struct { {{range $em := .Em}}
|
||||
{{$em.StructName}} string{{end}}
|
||||
}{ {{range $em := .Em}}
|
||||
{{$em.StructName}}:"{{$em.ColumnName}}", {{end}}
|
||||
}
|
||||
`
|
||||
genBase = `
|
||||
package {{.PackageName}}
|
||||
|
||||
@@ -1,10 +1,15 @@
|
||||
package genfunc
|
||||
|
||||
// GetGenTableNameTemp get gen base template str
|
||||
// GetGenTableNameTemp get gen table template str
|
||||
func GetGenTableNameTemp() string {
|
||||
return genTnf
|
||||
}
|
||||
|
||||
// GetGenColumnNameTemp get gen column template str
|
||||
func GetGenColumnNameTemp() string {
|
||||
return genColumn
|
||||
}
|
||||
|
||||
// GetGenBaseTemp get gen base template str
|
||||
func GetGenBaseTemp() string {
|
||||
return genBase
|
||||
|
||||
@@ -133,6 +133,7 @@ func (s *GenStruct) AddElement(e ...GenElement) {
|
||||
s.Em = append(s.Em, e...)
|
||||
}
|
||||
|
||||
// GenerateTableName generate table name .生成表名
|
||||
func (s *GenStruct) GenerateTableName() []string {
|
||||
tmpl, err := template.New("gen_tnf").Parse(genfunc.GetGenTableNameTemp())
|
||||
if err != nil {
|
||||
@@ -148,6 +149,34 @@ func (s *GenStruct) GenerateTableName() []string {
|
||||
return []string{buf.String()}
|
||||
}
|
||||
|
||||
// GenerateColumnName generate column name . 生成列名
|
||||
func (s *GenStruct) GenerateColumnName() []string {
|
||||
tmpl, err := template.New("gen_tnc").Parse(genfunc.GetGenColumnNameTemp())
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
var data struct {
|
||||
StructName string
|
||||
Em []struct {
|
||||
ColumnName string
|
||||
StructName string
|
||||
}
|
||||
}
|
||||
data.StructName = s.Name
|
||||
for _, v := range s.Em {
|
||||
data.Em = append(data.Em, struct {
|
||||
ColumnName string
|
||||
StructName string
|
||||
}{ColumnName: v.ColumnName,
|
||||
StructName: v.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
|
||||
@@ -240,6 +269,10 @@ func (p *GenPackage) Generate() string {
|
||||
for _, v1 := range v.GenerateTableName() {
|
||||
pa.Add(v1)
|
||||
}
|
||||
|
||||
for _, v2 := range v.GenerateColumnName() { // add column list
|
||||
pa.Add(v2)
|
||||
}
|
||||
}
|
||||
}
|
||||
// -----------end
|
||||
|
||||
@@ -2,10 +2,11 @@ package genstruct
|
||||
|
||||
// GenElement element of sturct.元素类
|
||||
type GenElement struct {
|
||||
Name string // Name.元素名
|
||||
Type string // Type.类型标记
|
||||
Notes string // Notes.注释
|
||||
Tags map[string][]string // tages.标记
|
||||
Name string // Name.元素名
|
||||
ColumnName string // table name.表名
|
||||
Type string // Type.类型标记
|
||||
Notes string // Notes.注释
|
||||
Tags map[string][]string // tages.标记
|
||||
}
|
||||
|
||||
// GenStruct struct of IStruct .结构体
|
||||
|
||||
@@ -123,6 +123,7 @@ func (m *_Model) genTableElement(cols []ColumnsInfo) (el []genstruct.GenElement)
|
||||
|
||||
}
|
||||
|
||||
tmp.ColumnName = v.Name // 列名
|
||||
el = append(el, tmp)
|
||||
|
||||
// ForeignKey
|
||||
|
||||
Reference in New Issue
Block a user