Include mysql column comments into generated types
This commit is contained in:
parent
fa69565dbf
commit
7b36f31cad
6 changed files with 33 additions and 11 deletions
|
|
@ -7,6 +7,7 @@ type Column struct {
|
|||
IsNullable bool
|
||||
IsGenerated bool
|
||||
DataType DataType
|
||||
Comment string
|
||||
}
|
||||
|
||||
// DataTypeKind is database type kind(base, enum, user-defined, array)
|
||||
|
|
|
|||
|
|
@ -36,6 +36,7 @@ func (m mySqlQuerySet) GetTableColumnsMetaData(db *sql.DB, schemaName string, ta
|
|||
query := `
|
||||
SELECT COLUMN_NAME AS "column.Name",
|
||||
IS_NULLABLE = "YES" AS "column.IsNullable",
|
||||
columns.COLUMN_COMMENT as "column.Comment",
|
||||
(EXISTS(
|
||||
SELECT 1
|
||||
FROM information_schema.table_constraints t
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ type {{structImplName}} struct {
|
|||
// Columns
|
||||
{{- range $i, $c := .Columns}}
|
||||
{{- $field := columnField $c}}
|
||||
{{$field.Name}} {{dialect.PackageName}}.Column{{$field.Type}}
|
||||
{{$field.Name}} {{dialect.PackageName}}.Column{{$field.Type}} {{- if $c.Comment }} // {{$c.Comment}} {{end}}
|
||||
{{- end}}
|
||||
|
||||
AllColumns {{dialect.PackageName}}.ColumnList
|
||||
|
|
@ -123,7 +123,7 @@ import (
|
|||
type {{$modelTableTemplate.TypeName}} struct {
|
||||
{{- range .Columns}}
|
||||
{{- $field := structField .}}
|
||||
{{$field.Name}} {{$field.Type.Name}} ` + "{{$field.TagsString}}" + `
|
||||
{{$field.Name}} {{$field.Type.Name}} ` + "{{$field.TagsString}}" + ` {{- if .Comment }} // {{.Comment}} {{end}}
|
||||
{{- end}}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -198,6 +198,26 @@ func assertGeneratedFiles(t *testing.T) {
|
|||
testutils.AssertFileContent(t, genTestDir3+"/dvds/model/actor.go", actorModelFile)
|
||||
}
|
||||
|
||||
func TestModelColumnComment(t *testing.T) {
|
||||
testutils.AssertFileContent(t, "./../.gentestdata/mysql/test_sample/model/link.go", `
|
||||
//
|
||||
// Code generated by go-jet DO NOT EDIT.
|
||||
//
|
||||
// WARNING: Changes to this file may cause incorrect behavior
|
||||
// and will be lost if the code is regenerated
|
||||
//
|
||||
|
||||
package model
|
||||
|
||||
type Link struct {
|
||||
ID int32 `+"`sql:\"primary_key\"`"+` // this is link id
|
||||
URL string // link url
|
||||
Name string // link name
|
||||
Description *string // this is link description
|
||||
}
|
||||
`)
|
||||
}
|
||||
|
||||
var mpaaRatingEnumFile = `
|
||||
//
|
||||
// Code generated by go-jet DO NOT EDIT.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue