Implemented postgres table and enum comment generation
This commit is contained in:
parent
929109622e
commit
ff82eb5df7
4 changed files with 33 additions and 3 deletions
|
|
@ -1,7 +1,20 @@
|
|||
package metadata
|
||||
|
||||
import "regexp"
|
||||
|
||||
// Enum metadata struct
|
||||
type Enum struct {
|
||||
Name string `sql:"primary_key"`
|
||||
Values []string
|
||||
Name string `sql:"primary_key"`
|
||||
Comment string
|
||||
Values []string
|
||||
}
|
||||
|
||||
// GoLangComment returns enum comment without ascii control characters
|
||||
func (e Enum) GoLangComment() string {
|
||||
if e.Comment == "" {
|
||||
return ""
|
||||
}
|
||||
|
||||
// remove ascii control characters from string
|
||||
return regexp.MustCompile(`[[:cntrl:]]+`).ReplaceAllString(e.Comment, "")
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,8 +1,11 @@
|
|||
package metadata
|
||||
|
||||
import "regexp"
|
||||
|
||||
// Table metadata struct
|
||||
type Table struct {
|
||||
Name string `sql:"primary_key"`
|
||||
Comment string
|
||||
Columns []Column
|
||||
}
|
||||
|
||||
|
|
@ -20,3 +23,13 @@ func (t Table) MutableColumns() []Column {
|
|||
|
||||
return ret
|
||||
}
|
||||
|
||||
// GoLangComment returns table comment without ascii control characters
|
||||
func (t Table) GoLangComment() string {
|
||||
if t.Comment == "" {
|
||||
return ""
|
||||
}
|
||||
|
||||
// remove ascii control characters from string
|
||||
return regexp.MustCompile(`[[:cntrl:]]+`).ReplaceAllString(t.Comment, "")
|
||||
}
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ type postgresQuerySet struct{}
|
|||
|
||||
func (p postgresQuerySet) GetTablesMetaData(db *sql.DB, schemaName string, tableType metadata.TableType) ([]metadata.Table, error) {
|
||||
query := `
|
||||
SELECT table_name as "table.name"
|
||||
SELECT table_name as "table.name", obj_description((table_schema||'.'||quote_ident(table_name))::regclass) as "table.comment"
|
||||
FROM information_schema.tables
|
||||
WHERE table_schema = $1 and table_type = $2
|
||||
ORDER BY table_name;
|
||||
|
|
|
|||
|
|
@ -26,6 +26,7 @@ import (
|
|||
|
||||
var {{tableTemplate.InstanceName}} = new{{tableTemplate.TypeName}}("{{schemaName}}", "{{.Name}}", "{{tableTemplate.DefaultAlias}}")
|
||||
|
||||
{{if .Comment }} // {{.GoLangComment}} {{end}}
|
||||
type {{structImplName}} struct {
|
||||
{{dialect.PackageName}}.Table
|
||||
|
||||
|
|
@ -119,6 +120,7 @@ import (
|
|||
{{end}}
|
||||
|
||||
{{$modelTableTemplate := tableTemplate}}
|
||||
{{if .Comment }} // {{.GoLangComment}} {{end}}
|
||||
type {{$modelTableTemplate.TypeName}} struct {
|
||||
{{- range .Columns}}
|
||||
{{- $field := structField .}}
|
||||
|
|
@ -132,6 +134,7 @@ var enumSQLBuilderTemplate = `package {{package}}
|
|||
|
||||
import "github.com/go-jet/jet/v2/{{dialect.PackageName}}"
|
||||
|
||||
{{if .Comment }} // {{.GoLangComment}} {{end}}
|
||||
var {{enumTemplate.InstanceName}} = &struct {
|
||||
{{- range $index, $value := .Values}}
|
||||
{{enumValueName $value}} {{dialect.PackageName}}.StringExpression
|
||||
|
|
@ -148,6 +151,7 @@ var enumModelTemplate = `package {{package}}
|
|||
|
||||
import "errors"
|
||||
|
||||
{{if .Comment }} // {{.GoLangComment}} {{end}}
|
||||
type {{$enumTemplate.TypeName}} string
|
||||
|
||||
const (
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue