Documentation
¶
Index ¶
- Constants
- Variables
- func ApplyDirMixins(currDir string, verbose bool) (err error)
- func CheckProject(outputDir, nameSpace, binName string) (err error)
- func FilterTables(tables []*schemas.Table, includes, excludes []string, tailDigits int) []*schemas.Table
- func GetColTypeString(col *schemas.Column) string
- func SkelProject(outputDir, nameSpace, binName string, force bool) (err error)
- type Formatter
- type Importter
- type Language
- type Packager
- type ReverseConfig
- type Reverser
- func (r *Reverser) Clone() *Reverser
- func (r *Reverser) ExecuteReverse(source dialect.ConnConfig, interActive, verbose bool) (bool, error)
- func (r *Reverser) GenModelInitFile(tmplName string) error
- func (r *Reverser) GetFormatter() Formatter
- func (r *Reverser) GetOutFileName(name string) string
- func (r *Reverser) ReverseTables(pkgName string, tableSchemas []*schemas.Table) error
- func (r *Reverser) SetOutDir(key string) string
Constants ¶
View Source
const ( InitFileName = "init" ConnFileName = "conn" SingleFileName = "models" QueryFileName = "queries" )
View Source
const ( FixedStrMaxSize = 255 // 固定字符串最大长度 XormTagName = "xorm" XormTagNotNull = "notnull" XormTagAutoIncr = "autoincr" XormTagPrimaryKey = "pk" XormTagUnique = "unique" XormTagIndex = "index" UnsignedFloat = "UNSIGNED FLOAT" UnsignedDouble = "UNSIGNED DOUBLE" )
Variables ¶
Functions ¶
func ApplyDirMixins ¶ added in v1.5.3
ApplyDirMixins 将已知的Mixin嵌入到匹配的Model中
func CheckProject ¶ added in v1.6.0
CheckProject 检查go mod相关文件,并给出编译提示
func FilterTables ¶
func FilterTables(tables []*schemas.Table, includes, excludes []string, tailDigits int) []*schemas.Table
FilterTables 按照ExcludeTables和IncludeTables配置过滤数据表
func GetColTypeString ¶
GetColTypeString get the col type include length, for example: VARCHAR(255)
func SkelProject ¶ added in v1.6.0
SkelProject 生成一个项目的骨架
Types ¶
type Language ¶
type Language struct { Name string ExtName string Template *template.Template Types map[string]string Funcs template.FuncMap Formatter Formatter Importter Importter Packager Packager }
Language represents a languages supported when reverse codes
type ReverseConfig ¶
type ReverseConfig struct { Language string `hcl:"language,label" json:"language,omitempty"` OutputDir string `hcl:"output_dir" json:"output_dir"` NameSpace string `hcl:"name_space" json:"name_space"` MultipleFiles bool `hcl:"multiple_files,optional" json:"multiple_files,omitempty"` TablePrefix string `hcl:"table_prefix,optional" json:"table_prefix,omitempty"` IncludeTables []string `hcl:"include_tables,optional" json:"include_tables,omitempty"` ExcludeTables []string `hcl:"exclude_tables,optional" json:"exclude_tables,omitempty"` TableMapper string `hcl:"table_mapper,optional" json:"table_mapper,omitempty"` ColumnMapper string `hcl:"column_mapper,optional" json:"column_mapper,omitempty"` MixinDir string `hcl:"mixin_dir,optional" json:"mixin_dir,omitempty"` MixinNS string `hcl:"mixin_ns,optional" json:"mixin_ns,omitempty"` ModelTemplatePath string `hcl:"model_template_path,optional" json:"model_template_path,omitempty"` QueryTemplatePath string `hcl:"query_template_path,optional" json:"query_template_path,omitempty"` }
ReverseConfig table反转为model配置
func (*ReverseConfig) GetTablePrefixes ¶
func (c *ReverseConfig) GetTablePrefixes() []string
GetTablePrefixes 获取可用表名前缀
func (*ReverseConfig) GetTemplateName ¶
func (c *ReverseConfig) GetTemplateName(name string) string
GetTemplateName 获取模板名称,优先使用配置,然后是预设模板
type Reverser ¶
type Reverser struct {
// contains filtered or unexported fields
}
Reverser model反转器
func (*Reverser) ExecuteReverse ¶
func (r *Reverser) ExecuteReverse(source dialect.ConnConfig, interActive, verbose bool) (bool, error)
ExecuteReverse 生成单个数据库下的代码文件,一个数据库一个子目录
func (*Reverser) GenModelInitFile ¶
GenModelInitFile 生成models目录下的init文件
func (*Reverser) GetFormatter ¶
GetFormatter 对应语言的美化代码工具
func (*Reverser) GetOutFileName ¶
GetOutFileName 获取输出文件名
func (*Reverser) ReverseTables ¶
ReverseTables 生成单个数据的model和query文件,或者一张表一个文件(当MultipleFiles=true)
Click to show internal directories.
Click to hide internal directories.