Documentation ¶
Index ¶
- Constants
- Variables
- func DiffPluralize(word, suffix string) string
- func ExecApplyMixins(target *setting.ReverseTarget) error
- func ExecReverseSettings(cfg setting.IReverseConfig, verbose bool, names ...string) error
- func GenModelInitFile(target setting.ReverseTarget, imports map[string]string) error
- func GetColTypeString(col *schemas.Column) string
- func GetCreatedColumn(table *schemas.Table) string
- func GetGolangTemplate(name string, funcs template.FuncMap) *template.Template
- func GetPresetTemplate(name string) *template.Template
- func GetSinglePKey(table *schemas.Table) string
- func GetTableSchemas(source *setting.ReverseSource, target *setting.ReverseTarget, verbose bool) []*schemas.Table
- func NewTemplate(name, content string, funcs template.FuncMap) *template.Template
- func RegisterLanguage(l *Language)
- func Reverse(target *setting.ReverseTarget, source *setting.DataSource, verbose bool) error
- func RunReverse(target *setting.ReverseTarget, tableSchemas []*schemas.Table) error
- func SQLType2Type(st schemas.SQLType) (rtype reflect.Type, rtstr string)
- type Formatter
- type Importter
- type Language
- type Packager
Constants ¶
View Source
const FIXED_STR_MAX_SIZE = 255 // 固定字符串最大长度
Variables ¶
View Source
var ( TypeOfTime = reflect.TypeOf(time.Time{}) Bit = "BIT" TinyInt = "TINYINT" SmallInt = "SMALLINT" MediumInt = "MEDIUMINT" Int = "INT" Integer = "INTEGER" BigInt = "BIGINT" Enum = "ENUM" Set = "SET" Char = "CHAR" Varchar = "VARCHAR" NChar = "NCHAR" NVarchar = "NVARCHAR" TinyText = "TINYTEXT" Text = "TEXT" NText = "NTEXT" Clob = "CLOB" MediumText = "MEDIUMTEXT" LongText = "LONGTEXT" Uuid = "UUID" UniqueIdentifier = "UNIQUEIDENTIFIER" SysName = "SYSNAME" Date = "DATE" DateTime = "DATETIME" SmallDateTime = "SMALLDATETIME" Time = "TIME" TimeStamp = "TIMESTAMP" TimeStampz = "TIMESTAMPZ" Year = "YEAR" Decimal = "DECIMAL" Numeric = "NUMERIC" Money = "MONEY" SmallMoney = "SMALLMONEY" Real = "REAL" Float = "FLOAT" Double = "DOUBLE" Binary = "BINARY" VarBinary = "VARBINARY" TinyBlob = "TINYBLOB" Blob = "BLOB" MediumBlob = "MEDIUMBLOB" LongBlob = "LONGBLOB" Bytea = "BYTEA" Bool = "BOOL" Boolean = "BOOLEAN" Serial = "SERIAL" BigSerial = "BIGSERIAL" Json = "JSON" Jsonb = "JSONB" Array = "ARRAY" )
View Source
var Golang = Language{ Name: "golang", Template: golangModelTemplate, Types: map[string]string{}, Funcs: template.FuncMap{ "Type": type2string, "Tag": tag2string, }, Formatter: rewrite.CleanImportsWriteGolangFile, Importter: genGoImports, Packager: genNameSpace, ExtName: ".go", }
Golang represents a golang language
Functions ¶
func ExecApplyMixins ¶
func ExecApplyMixins(target *setting.ReverseTarget) error
func ExecReverseSettings ¶
func ExecReverseSettings(cfg setting.IReverseConfig, verbose bool, names ...string) error
func GenModelInitFile ¶
func GenModelInitFile(target setting.ReverseTarget, imports map[string]string) error
func GetColTypeString ¶ added in v1.0.4
get the col type include length, for example: VARCHAR(255)
func GetCreatedColumn ¶
func GetGolangTemplate ¶ added in v1.0.4
func GetPresetTemplate ¶ added in v1.0.4
func GetSinglePKey ¶
func GetTableSchemas ¶
func GetTableSchemas(source *setting.ReverseSource, target *setting.ReverseTarget, verbose bool) []*schemas.Table
func NewTemplate ¶ added in v1.0.4
func RegisterLanguage ¶ added in v1.0.4
func RegisterLanguage(l *Language)
RegisterLanguage registers a language
func Reverse ¶
func Reverse(target *setting.ReverseTarget, source *setting.DataSource, verbose bool) error
func RunReverse ¶
func RunReverse(target *setting.ReverseTarget, tableSchemas []*schemas.Table) error
Types ¶
type Language ¶ added in v1.0.4
type Language struct { Name string ExtName string Template string Types map[string]string Funcs template.FuncMap Formatter Formatter Importter Importter Packager Packager }
Language represents a languages supported when reverse codes
func GetLanguage ¶ added in v1.0.4
GetLanguage returns a language if exists
func (*Language) FixTarget ¶ added in v1.0.4
func (l *Language) FixTarget(target *setting.ReverseTarget)
Click to show internal directories.
Click to hide internal directories.