Package structure refactor.

This commit is contained in:
go-jet 2019-08-03 14:10:47 +02:00
parent 3d8e872336
commit 23fd973699
125 changed files with 2401 additions and 1818 deletions

View file

@ -3,8 +3,8 @@ package template
import (
"bytes"
"fmt"
"github.com/go-jet/jet"
"github.com/go-jet/jet/generator/internal/metadata"
"github.com/go-jet/jet/internal/jet"
"github.com/go-jet/jet/internal/utils"
"path/filepath"
"text/template"
@ -93,7 +93,7 @@ func generate(dirPath, packageName string, template string, metaDataList []metad
}
// GenerateTemplate generates template with template text and template data.
func GenerateTemplate(templateText string, templateData interface{}, dialect jet.Dialect) ([]byte, error) {
func GenerateTemplate(templateText string, templateData interface{}, dialect1 jet.Dialect) ([]byte, error) {
t, err := template.New("sqlBuilderTableTemplate").Funcs(template.FuncMap{
"ToGoIdentifier": utils.ToGoIdentifier,
@ -101,7 +101,7 @@ func GenerateTemplate(templateText string, templateData interface{}, dialect jet
return time.Now().Format(time.RFC850)
},
"dialect": func() jet.Dialect {
return dialect
return dialect1
},
}).Parse(templateText)

View file

@ -21,22 +21,21 @@ var tableSQLBuilderTemplate = `
package table
import (
"github.com/go-jet/jet"
"github.com/go-jet/jet/{{dialect.PackageName}}"
)
var {{ToGoIdentifier .Name}} = new{{.GoStructName}}()
type {{.GoStructName}} struct {
jet.Table
{{dialect.PackageName}}.Table
//Columns
{{- range .Columns}}
{{ToGoIdentifier .Name}} {{dialect.PackageName}}.Column{{.SqlBuilderColumnType}}
{{- end}}
AllColumns jet.ColumnList
MutableColumns jet.ColumnList
AllColumns {{dialect.PackageName}}.IColumnList
MutableColumns {{dialect.PackageName}}.IColumnList
}
// creates new {{.GoStructName}} with assigned alias
@ -56,15 +55,15 @@ func new{{.GoStructName}}() *{{.GoStructName}} {
)
return &{{.GoStructName}}{
Table: jet.NewTable(jet.{{dialect.Name}}, "{{.SchemaName}}", "{{.Name}}", {{template "column-list" .Columns}}),
Table: {{dialect.PackageName}}.NewTable("{{.SchemaName}}", "{{.Name}}", {{template "column-list" .Columns}}),
//Columns
{{- range .Columns}}
{{ToGoIdentifier .Name}}: {{ToGoIdentifier .Name}}Column,
{{- end}}
AllColumns: jet.ColumnList{ {{template "column-list" .Columns}} },
MutableColumns: jet.ColumnList{ {{template "column-list" .MutableColumns}} },
AllColumns: {{dialect.PackageName}}.ColumnList( {{template "column-list" .Columns}} ),
MutableColumns: {{dialect.PackageName}}.ColumnList( {{template "column-list" .MutableColumns}} ),
}
}
@ -91,15 +90,15 @@ type {{ToGoIdentifier .Name}} struct {
`
var enumSQLBuilderTemplate = `package enum
import "github.com/go-jet/jet"
import "github.com/go-jet/jet/postgres"
var {{ToGoIdentifier $.Name}} = &struct {
{{- range $index, $element := .Values}}
{{ToGoIdentifier $element}} jet.StringExpression
{{ToGoIdentifier $element}} postgres.StringExpression
{{- end}}
} {
{{- range $index, $element := .Values}}
{{ToGoIdentifier $element}}: jet.NewEnumValue("{{$element}}"),
{{ToGoIdentifier $element}}: postgres.NewEnumValue("{{$element}}"),
{{- end}}
}
`

View file

@ -3,9 +3,9 @@ package mysql
import (
"database/sql"
"fmt"
"github.com/go-jet/jet"
"github.com/go-jet/jet/generator/internal/metadata"
"github.com/go-jet/jet/generator/internal/template"
"github.com/go-jet/jet/mysql"
"path"
)
@ -38,7 +38,7 @@ func Generate(destDir string, dbConn DBConnection) error {
genPath := path.Join(destDir, dbConn.DBName)
err = template.GenerateFiles(genPath, dbInfo.TableInfos, dbInfo.EnumInfos, jet.MySQL)
err = template.GenerateFiles(genPath, dbInfo.TableInfos, dbInfo.EnumInfos, mysql.Dialect)
if err != nil {
return err

View file

@ -3,9 +3,9 @@ package postgres
import (
"database/sql"
"fmt"
"github.com/go-jet/jet"
"github.com/go-jet/jet/generator/internal/metadata"
"github.com/go-jet/jet/generator/internal/template"
"github.com/go-jet/jet/postgres"
"path"
"strconv"
)
@ -42,7 +42,7 @@ func Generate(destDir string, dbConn DBConnection) error {
genPath := path.Join(destDir, dbConn.DBName, dbConn.SchemaName)
err = template.GenerateFiles(genPath, schemaInfo.TableInfos, schemaInfo.EnumInfos, jet.PostgreSQL)
err = template.GenerateFiles(genPath, schemaInfo.TableInfos, schemaInfo.EnumInfos, postgres.Dialect)
if err != nil {
return err