new
This commit is contained in:
@@ -15,7 +15,7 @@ import (
|
|||||||
|
|
||||||
var mysqlInfo config.MysqlDbInfo
|
var mysqlInfo config.MysqlDbInfo
|
||||||
var outDir string
|
var outDir string
|
||||||
var singular_table bool
|
var singularTable bool
|
||||||
|
|
||||||
var rootCmd = &cobra.Command{
|
var rootCmd = &cobra.Command{
|
||||||
Use: "main",
|
Use: "main",
|
||||||
@@ -52,7 +52,7 @@ func init() {
|
|||||||
rootCmd.PersistentFlags().StringVarP(&outDir, "outdir", "o", "", "输出目录")
|
rootCmd.PersistentFlags().StringVarP(&outDir, "outdir", "o", "", "输出目录")
|
||||||
rootCmd.MarkFlagRequired("outdir")
|
rootCmd.MarkFlagRequired("outdir")
|
||||||
|
|
||||||
rootCmd.PersistentFlags().BoolVarP(&singular_table, "singular", "s", false, "是否禁用表名复数")
|
rootCmd.PersistentFlags().BoolVarP(&singularTable, "singular", "s", false, "是否禁用表名复数")
|
||||||
rootCmd.MarkFlagRequired("singular")
|
rootCmd.MarkFlagRequired("singular")
|
||||||
|
|
||||||
rootCmd.Flags().IntVar(&mysqlInfo.Port, "port", 3306, "端口号")
|
rootCmd.Flags().IntVar(&mysqlInfo.Port, "port", 3306, "端口号")
|
||||||
@@ -73,7 +73,7 @@ func initConfig() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//合并
|
//MergeMysqlDbInfo 合并
|
||||||
func MergeMysqlDbInfo() {
|
func MergeMysqlDbInfo() {
|
||||||
var tmp = config.GetMysqlDbInfo()
|
var tmp = config.GetMysqlDbInfo()
|
||||||
if len(mysqlInfo.Database) > 0 {
|
if len(mysqlInfo.Database) > 0 {
|
||||||
@@ -98,7 +98,7 @@ func MergeMysqlDbInfo() {
|
|||||||
config.SetOutDir(outDir)
|
config.SetOutDir(outDir)
|
||||||
}
|
}
|
||||||
|
|
||||||
if singular_table {
|
if singularTable {
|
||||||
config.SetSingularTable(singular_table)
|
config.SetSingularTable(singularTable)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,17 +2,17 @@ package config
|
|||||||
|
|
||||||
import "fmt"
|
import "fmt"
|
||||||
|
|
||||||
//
|
//Config .
|
||||||
type Config struct {
|
type Config struct {
|
||||||
CfgBase
|
CfgBase
|
||||||
MySQLInfo MysqlDbInfo `toml:"mysql_info"`
|
MySQLInfo MysqlDbInfo `toml:"mysql_info"`
|
||||||
OutDir string `toml:"out_dir"`
|
OutDir string `toml:"out_dir"`
|
||||||
Simple bool `toml:"simple"`
|
Simple bool `toml:"simple"`
|
||||||
IsJsonTag bool `toml:"isJsonTag"`
|
IsJSONTag bool `toml:"isJsonTag"`
|
||||||
SingularTable bool `toml:"singular_table"`
|
SingularTable bool `toml:"singular_table"`
|
||||||
}
|
}
|
||||||
|
|
||||||
//mysql 数据库信息
|
//MysqlDbInfo mysql 数据库信息
|
||||||
type MysqlDbInfo struct {
|
type MysqlDbInfo struct {
|
||||||
Host string `validate:"required"` //地址
|
Host string `validate:"required"` //地址
|
||||||
Port int `validate:"required"` //端口号
|
Port int `validate:"required"` //端口号
|
||||||
@@ -21,17 +21,17 @@ type MysqlDbInfo struct {
|
|||||||
Database string `validate:"required"` //数据库名
|
Database string `validate:"required"` //数据库名
|
||||||
}
|
}
|
||||||
|
|
||||||
//更新mysql配置信息
|
//SetMysqlDbInfo 更新mysql配置信息
|
||||||
func SetMysqlDbInfo(info *MysqlDbInfo) {
|
func SetMysqlDbInfo(info *MysqlDbInfo) {
|
||||||
_map.MySQLInfo = *info
|
_map.MySQLInfo = *info
|
||||||
}
|
}
|
||||||
|
|
||||||
//获取mysql配置信息
|
//GetMysqlDbInfo 获取mysql配置信息
|
||||||
func GetMysqlDbInfo() MysqlDbInfo {
|
func GetMysqlDbInfo() MysqlDbInfo {
|
||||||
return _map.MySQLInfo
|
return _map.MySQLInfo
|
||||||
}
|
}
|
||||||
|
|
||||||
//获取mysql 连接字符串
|
//GetMysqlConStr 获取mysql 连接字符串
|
||||||
func GetMysqlConStr() string {
|
func GetMysqlConStr() string {
|
||||||
return fmt.Sprintf("%s:%s@tcp(%s:%d)/%s?charset=utf8&parseTime=True&loc=Local",
|
return fmt.Sprintf("%s:%s@tcp(%s:%d)/%s?charset=utf8&parseTime=True&loc=Local",
|
||||||
_map.MySQLInfo.Username,
|
_map.MySQLInfo.Username,
|
||||||
@@ -42,32 +42,32 @@ func GetMysqlConStr() string {
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
//设置输出目录
|
//SetOutDir 设置输出目录
|
||||||
func SetOutDir(outDir string) {
|
func SetOutDir(outDir string) {
|
||||||
_map.OutDir = outDir
|
_map.OutDir = outDir
|
||||||
}
|
}
|
||||||
|
|
||||||
//获取输出目录
|
//GetOutDir 获取输出目录
|
||||||
func GetOutDir() string {
|
func GetOutDir() string {
|
||||||
return _map.OutDir
|
return _map.OutDir
|
||||||
}
|
}
|
||||||
|
|
||||||
//设置禁用表名复数
|
//SetSingularTable 设置禁用表名复数
|
||||||
func SetSingularTable(b bool) {
|
func SetSingularTable(b bool) {
|
||||||
_map.SingularTable = b
|
_map.SingularTable = b
|
||||||
}
|
}
|
||||||
|
|
||||||
//获取禁用表名复数
|
//GetSingularTable 获取禁用表名复数
|
||||||
func GetSingularTable() bool {
|
func GetSingularTable() bool {
|
||||||
return _map.SingularTable
|
return _map.SingularTable
|
||||||
}
|
}
|
||||||
|
|
||||||
//简单输出
|
//GetSimple 简单输出
|
||||||
func GetSimple() bool {
|
func GetSimple() bool {
|
||||||
return _map.Simple
|
return _map.Simple
|
||||||
}
|
}
|
||||||
|
|
||||||
//json标记
|
//GetIsJSONTag json标记
|
||||||
func GetIsJsonTag() bool {
|
func GetIsJSONTag() bool {
|
||||||
return _map.IsJsonTag
|
return _map.IsJSONTag
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ import (
|
|||||||
"github.com/BurntSushi/toml"
|
"github.com/BurntSushi/toml"
|
||||||
)
|
)
|
||||||
|
|
||||||
//
|
//CfgBase .
|
||||||
type CfgBase struct {
|
type CfgBase struct {
|
||||||
SerialNumber string `json:"serial_number" toml:"serial_number"` //版本号
|
SerialNumber string `json:"serial_number" toml:"serial_number"` //版本号
|
||||||
ServiceName string `json:"service_name" toml:"service_name"` //service名字
|
ServiceName string `json:"service_name" toml:"service_name"` //service名字
|
||||||
@@ -44,7 +44,7 @@ func InitFile(filename string) error {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
//获取service配置信息
|
//GetServiceConfig 获取service配置信息
|
||||||
func GetServiceConfig() (name, displayName, desc string) {
|
func GetServiceConfig() (name, displayName, desc string) {
|
||||||
name = _map.ServiceName
|
name = _map.ServiceName
|
||||||
displayName = _map.ServiceDisplayname
|
displayName = _map.ServiceDisplayname
|
||||||
|
|||||||
@@ -6,11 +6,11 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
test_file = `
|
testFile = `
|
||||||
`
|
`
|
||||||
)
|
)
|
||||||
|
|
||||||
//判断是否在测试环境下使用
|
//IsRunTesting 判断是否在测试环境下使用
|
||||||
func IsRunTesting() bool {
|
func IsRunTesting() bool {
|
||||||
if len(os.Args) > 1 {
|
if len(os.Args) > 1 {
|
||||||
return strings.HasPrefix(os.Args[1], "-test")
|
return strings.HasPrefix(os.Args[1], "-test")
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ import (
|
|||||||
"github.com/xxjwxc/public/mysqldb"
|
"github.com/xxjwxc/public/mysqldb"
|
||||||
)
|
)
|
||||||
|
|
||||||
//获取表列及注释
|
//OnGetTables 获取表列及注释
|
||||||
func OnGetTables(orm *mysqldb.MySqlDB) map[string]string {
|
func OnGetTables(orm *mysqldb.MySqlDB) map[string]string {
|
||||||
tbDesc := make(map[string]string)
|
tbDesc := make(map[string]string)
|
||||||
|
|
||||||
@@ -49,7 +49,7 @@ func OnGetTables(orm *mysqldb.MySqlDB) map[string]string {
|
|||||||
return tbDesc
|
return tbDesc
|
||||||
}
|
}
|
||||||
|
|
||||||
//获取包信息
|
//OnGetPackageInfo 获取包信息
|
||||||
func OnGetPackageInfo(orm *mysqldb.MySqlDB, tabls map[string]string) generate.GenPackage {
|
func OnGetPackageInfo(orm *mysqldb.MySqlDB, tabls map[string]string) generate.GenPackage {
|
||||||
var pkg generate.GenPackage
|
var pkg generate.GenPackage
|
||||||
for tab, desc := range tabls {
|
for tab, desc := range tabls {
|
||||||
@@ -78,7 +78,7 @@ func OnGetPackageInfo(orm *mysqldb.MySqlDB, tabls map[string]string) generate.Ge
|
|||||||
return pkg
|
return pkg
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获取表列及注释
|
//OnGetTableElement 获取表列及注释
|
||||||
func OnGetTableElement(orm *mysqldb.MySqlDB, tab string) []generate.GenElement {
|
func OnGetTableElement(orm *mysqldb.MySqlDB, tab string) []generate.GenElement {
|
||||||
var el []generate.GenElement
|
var el []generate.GenElement
|
||||||
|
|
||||||
@@ -120,9 +120,9 @@ func OnGetTableElement(orm *mysqldb.MySqlDB, tab string) []generate.GenElement {
|
|||||||
tmp.SetType(OnGetTypeName(v.Type))
|
tmp.SetType(OnGetTypeName(v.Type))
|
||||||
|
|
||||||
if strings.EqualFold(v.Key, "PRI") { //设置主键
|
if strings.EqualFold(v.Key, "PRI") { //设置主键
|
||||||
tmp.AddTag(_tag_gorm, "primary_key")
|
tmp.AddTag(_tagGorm, "primary_key")
|
||||||
} else if strings.EqualFold(v.Key, "UNI") { //unique
|
} else if strings.EqualFold(v.Key, "UNI") { //unique
|
||||||
tmp.AddTag(_tag_gorm, "unique")
|
tmp.AddTag(_tagGorm, "unique")
|
||||||
} else {
|
} else {
|
||||||
//index
|
//index
|
||||||
for _, v1 := range Keys {
|
for _, v1 := range Keys {
|
||||||
@@ -137,26 +137,26 @@ func OnGetTableElement(orm *mysqldb.MySqlDB, tab string) []generate.GenElement {
|
|||||||
_val += ":" + v1.KeyName
|
_val += ":" + v1.KeyName
|
||||||
}
|
}
|
||||||
|
|
||||||
tmp.AddTag(_tag_gorm, _val)
|
tmp.AddTag(_tagGorm, _val)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//simple output
|
//simple output
|
||||||
if !config.GetSimple() {
|
if !config.GetSimple() {
|
||||||
tmp.AddTag(_tag_gorm, "column:"+v.Field)
|
tmp.AddTag(_tagGorm, "column:"+v.Field)
|
||||||
tmp.AddTag(_tag_gorm, "type:"+v.Type)
|
tmp.AddTag(_tagGorm, "type:"+v.Type)
|
||||||
if strings.EqualFold(v.Null, "NO") {
|
if strings.EqualFold(v.Null, "NO") {
|
||||||
tmp.AddTag(_tag_gorm, "not null")
|
tmp.AddTag(_tagGorm, "not null")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//json tag
|
//json tag
|
||||||
if config.GetIsJsonTag() {
|
if config.GetIsJSONTag() {
|
||||||
if strings.EqualFold(v.Field, "id") {
|
if strings.EqualFold(v.Field, "id") {
|
||||||
tmp.AddTag(_tag_json, "-")
|
tmp.AddTag(_tagJSON, "-")
|
||||||
} else {
|
} else {
|
||||||
tmp.AddTag(_tag_json, v.Field)
|
tmp.AddTag(_tagJSON, v.Field)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -166,7 +166,7 @@ func OnGetTableElement(orm *mysqldb.MySqlDB, tab string) []generate.GenElement {
|
|||||||
return el
|
return el
|
||||||
}
|
}
|
||||||
|
|
||||||
//过滤 gorm.Model
|
//OnHaveModel 过滤 gorm.Model
|
||||||
func OnHaveModel(list *[]struct {
|
func OnHaveModel(list *[]struct {
|
||||||
Field string `gorm:"column:Field"`
|
Field string `gorm:"column:Field"`
|
||||||
Type string `gorm:"column:Type"`
|
Type string `gorm:"column:Type"`
|
||||||
@@ -202,7 +202,7 @@ func OnHaveModel(list *[]struct {
|
|||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
//类型获取过滤
|
//OnGetTypeName 类型获取过滤
|
||||||
func OnGetTypeName(name string) string {
|
func OnGetTypeName(name string) string {
|
||||||
//先精确匹配
|
//先精确匹配
|
||||||
if v, ok := TypeDicMp[name]; ok {
|
if v, ok := TypeDicMp[name]; ok {
|
||||||
@@ -219,7 +219,7 @@ func OnGetTypeName(name string) string {
|
|||||||
panic(fmt.Sprintf("type (%v) not match in any way.", name))
|
panic(fmt.Sprintf("type (%v) not match in any way.", name))
|
||||||
}
|
}
|
||||||
|
|
||||||
//大驼峰或者首字母大写
|
//OnGetCamelName 大驼峰或者首字母大写
|
||||||
func OnGetCamelName(name string) string {
|
func OnGetCamelName(name string) string {
|
||||||
if config.GetSingularTable() { //如果全局禁用表名复数
|
if config.GetSingularTable() { //如果全局禁用表名复数
|
||||||
return TitleCase(name)
|
return TitleCase(name)
|
||||||
@@ -228,9 +228,7 @@ func OnGetCamelName(name string) string {
|
|||||||
return mybigcamel.Marshal(name)
|
return mybigcamel.Marshal(name)
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
//TitleCase 首字母大写
|
||||||
首字母大写
|
|
||||||
*/
|
|
||||||
func TitleCase(name string) string {
|
func TitleCase(name string) string {
|
||||||
vv := []rune(name)
|
vv := []rune(name)
|
||||||
if len(vv) > 0 {
|
if len(vv) > 0 {
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
package gtools
|
package gtools
|
||||||
|
|
||||||
const (
|
const (
|
||||||
_tag_gorm = "gorm"
|
_tagGorm = "gorm"
|
||||||
_tag_json = "json"
|
_tagJSON = "json"
|
||||||
)
|
)
|
||||||
|
|
||||||
//精确匹配类型
|
//TypeDicMp 精确匹配类型
|
||||||
var TypeDicMp = map[string]string{
|
var TypeDicMp = map[string]string{
|
||||||
"int": "int",
|
"int": "int",
|
||||||
"bigint": "int64",
|
"bigint": "int64",
|
||||||
@@ -19,7 +19,7 @@ var TypeDicMp = map[string]string{
|
|||||||
"timestamp": "time.Time",
|
"timestamp": "time.Time",
|
||||||
}
|
}
|
||||||
|
|
||||||
//模糊匹配类型
|
//TypeMatchMp 模糊匹配类型
|
||||||
var TypeMatchMp = map[string]string{
|
var TypeMatchMp = map[string]string{
|
||||||
`int[(]\d+[)]`: "int",
|
`int[(]\d+[)]`: "int",
|
||||||
`bigint[(]\d+[)]`: "int64",
|
`bigint[(]\d+[)]`: "int64",
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ import (
|
|||||||
"github.com/xxjwxc/public/tools"
|
"github.com/xxjwxc/public/tools"
|
||||||
)
|
)
|
||||||
|
|
||||||
// 打印
|
//Add 打印
|
||||||
func (p *PrintAtom) Add(str ...interface{}) {
|
func (p *PrintAtom) Add(str ...interface{}) {
|
||||||
var tmp string
|
var tmp string
|
||||||
for _, v := range str {
|
for _, v := range str {
|
||||||
@@ -18,27 +18,27 @@ func (p *PrintAtom) Add(str ...interface{}) {
|
|||||||
p.lines = append(p.lines, tmp)
|
p.lines = append(p.lines, tmp)
|
||||||
}
|
}
|
||||||
|
|
||||||
// 打印
|
//Generate 打印
|
||||||
func (p *PrintAtom) Generate() []string {
|
func (p *PrintAtom) Generate() []string {
|
||||||
return p.lines
|
return p.lines
|
||||||
}
|
}
|
||||||
|
|
||||||
//设置元素名字
|
//SetName 设置元素名字
|
||||||
func (e *GenElement) SetName(name string) {
|
func (e *GenElement) SetName(name string) {
|
||||||
e.Name = name
|
e.Name = name
|
||||||
}
|
}
|
||||||
|
|
||||||
//设置元素类型
|
//SetType 设置元素类型
|
||||||
func (e *GenElement) SetType(tp string) {
|
func (e *GenElement) SetType(tp string) {
|
||||||
e.Type = tp
|
e.Type = tp
|
||||||
}
|
}
|
||||||
|
|
||||||
//设置注释
|
//SetNotes 设置注释
|
||||||
func (e *GenElement) SetNotes(notes string) {
|
func (e *GenElement) SetNotes(notes string) {
|
||||||
e.Notes = notes
|
e.Notes = notes
|
||||||
}
|
}
|
||||||
|
|
||||||
//添加一个tag标记
|
//AddTag 添加一个tag标记
|
||||||
func (e *GenElement) AddTag(k string, v string) {
|
func (e *GenElement) AddTag(k string, v string) {
|
||||||
if e.Tags == nil {
|
if e.Tags == nil {
|
||||||
e.Tags = make(map[string][]string)
|
e.Tags = make(map[string][]string)
|
||||||
@@ -46,7 +46,7 @@ func (e *GenElement) AddTag(k string, v string) {
|
|||||||
e.Tags[k] = append(e.Tags[k], v)
|
e.Tags[k] = append(e.Tags[k], v)
|
||||||
}
|
}
|
||||||
|
|
||||||
//获取结果数据
|
//Generate 获取结果数据
|
||||||
func (e *GenElement) Generate() string {
|
func (e *GenElement) Generate() string {
|
||||||
tag := ""
|
tag := ""
|
||||||
var tags []string
|
var tags []string
|
||||||
@@ -66,32 +66,32 @@ func (e *GenElement) Generate() string {
|
|||||||
// struct
|
// struct
|
||||||
//////////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
//设置创建语句,备份使用
|
//SetCreatTableStr 设置创建语句,备份使用
|
||||||
func (s *GenStruct) SetCreatTableStr(sql string) {
|
func (s *GenStruct) SetCreatTableStr(sql string) {
|
||||||
s.SqlBuildStr = sql
|
s.SQLBuildStr = sql
|
||||||
}
|
}
|
||||||
|
|
||||||
//获取结果数据
|
//SetStructName 获取结果数据
|
||||||
func (s *GenStruct) SetStructName(name string) {
|
func (s *GenStruct) SetStructName(name string) {
|
||||||
s.Name = name
|
s.Name = name
|
||||||
}
|
}
|
||||||
|
|
||||||
//设置注释
|
//SetNotes 设置注释
|
||||||
func (e *GenStruct) SetNotes(notes string) {
|
func (s *GenStruct) SetNotes(notes string) {
|
||||||
e.Notes = notes
|
s.Notes = notes
|
||||||
}
|
}
|
||||||
|
|
||||||
//添加一个/或多个元素
|
//AddElement 添加一个/或多个元素
|
||||||
func (s *GenStruct) AddElement(e ...GenElement) {
|
func (s *GenStruct) AddElement(e ...GenElement) {
|
||||||
s.Em = append(s.Em, e...)
|
s.Em = append(s.Em, e...)
|
||||||
}
|
}
|
||||||
|
|
||||||
//获取结果数据
|
//Generate 获取结果数据
|
||||||
func (s *GenStruct) Generate() []string {
|
func (s *GenStruct) Generate() []string {
|
||||||
var p PrintAtom
|
var p PrintAtom
|
||||||
if !config.GetSimple() {
|
if !config.GetSimple() {
|
||||||
p.Add("/******sql******")
|
p.Add("/******sql******")
|
||||||
p.Add(s.SqlBuildStr)
|
p.Add(s.SQLBuildStr)
|
||||||
p.Add("******sql******/")
|
p.Add("******sql******/")
|
||||||
}
|
}
|
||||||
p.Add("//", s.Notes)
|
p.Add("//", s.Notes)
|
||||||
@@ -108,12 +108,12 @@ func (s *GenStruct) Generate() []string {
|
|||||||
// package
|
// package
|
||||||
//////////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
//定义包名
|
//SetPackage 定义包名
|
||||||
func (p *GenPackage) SetPackage(pname string) {
|
func (p *GenPackage) SetPackage(pname string) {
|
||||||
p.Name = pname
|
p.Name = pname
|
||||||
}
|
}
|
||||||
|
|
||||||
//通过类型添加import
|
//AddImport 通过类型添加import
|
||||||
func (p *GenPackage) AddImport(imp string) {
|
func (p *GenPackage) AddImport(imp string) {
|
||||||
if p.Imports == nil {
|
if p.Imports == nil {
|
||||||
p.Imports = make(map[string]string)
|
p.Imports = make(map[string]string)
|
||||||
@@ -121,12 +121,12 @@ func (p *GenPackage) AddImport(imp string) {
|
|||||||
p.Imports[imp] = imp
|
p.Imports[imp] = imp
|
||||||
}
|
}
|
||||||
|
|
||||||
//添加一个结构体
|
//AddStruct 添加一个结构体
|
||||||
func (p *GenPackage) AddStruct(st GenStruct) {
|
func (p *GenPackage) AddStruct(st GenStruct) {
|
||||||
p.Structs = append(p.Structs, st)
|
p.Structs = append(p.Structs, st)
|
||||||
}
|
}
|
||||||
|
|
||||||
//获取结果数据
|
//Generate 获取结果数据
|
||||||
func (p *GenPackage) Generate() string {
|
func (p *GenPackage) Generate() string {
|
||||||
p.genimport() //补充 import
|
p.genimport() //补充 import
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
package generate
|
package generate
|
||||||
|
|
||||||
//包类
|
//IPackage 包类
|
||||||
type IPackage interface {
|
type IPackage interface {
|
||||||
//定义包名
|
//定义包名
|
||||||
SetPackage(string)
|
SetPackage(string)
|
||||||
@@ -12,7 +12,7 @@ type IPackage interface {
|
|||||||
Generate() string
|
Generate() string
|
||||||
}
|
}
|
||||||
|
|
||||||
//结构体类
|
//IStruct 结构体类
|
||||||
type IStruct interface {
|
type IStruct interface {
|
||||||
//设置创建语句,备份使用
|
//设置创建语句,备份使用
|
||||||
SetCreatTableStr(string)
|
SetCreatTableStr(string)
|
||||||
@@ -30,7 +30,7 @@ type IStruct interface {
|
|||||||
Generate() []string
|
Generate() []string
|
||||||
}
|
}
|
||||||
|
|
||||||
//元素类
|
//IElement 元素类
|
||||||
type IElement interface {
|
type IElement interface {
|
||||||
//设置元素名字
|
//设置元素名字
|
||||||
SetName(string)
|
SetName(string)
|
||||||
@@ -51,7 +51,7 @@ type IElement interface {
|
|||||||
//
|
//
|
||||||
//////////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
//元素类
|
//GenElement 元素类
|
||||||
type GenElement struct {
|
type GenElement struct {
|
||||||
Name string //元素名
|
Name string //元素名
|
||||||
Type string //类型标记
|
Type string //类型标记
|
||||||
@@ -59,15 +59,15 @@ type GenElement struct {
|
|||||||
Tags map[string][]string //标记
|
Tags map[string][]string //标记
|
||||||
}
|
}
|
||||||
|
|
||||||
//结构体
|
//GenStruct 结构体
|
||||||
type GenStruct struct {
|
type GenStruct struct {
|
||||||
SqlBuildStr string //创建sql语句
|
SQLBuildStr string //创建sql语句
|
||||||
Name string //名字
|
Name string //名字
|
||||||
Notes string //注释
|
Notes string //注释
|
||||||
Em []GenElement //元素组合
|
Em []GenElement //元素组合
|
||||||
}
|
}
|
||||||
|
|
||||||
//包体
|
//GenPackage 包体
|
||||||
type GenPackage struct {
|
type GenPackage struct {
|
||||||
Name string //名字
|
Name string //名字
|
||||||
Imports map[string]string //元素组合
|
Imports map[string]string //元素组合
|
||||||
@@ -77,12 +77,14 @@ type GenPackage struct {
|
|||||||
//间隔
|
//间隔
|
||||||
var _interval = "\t"
|
var _interval = "\t"
|
||||||
|
|
||||||
|
//EImportsHead .
|
||||||
var EImportsHead = map[string]string{
|
var EImportsHead = map[string]string{
|
||||||
"stirng": `"string"`,
|
"stirng": `"string"`,
|
||||||
"time.Time": `"time"`,
|
"time.Time": `"time"`,
|
||||||
"gorm.Model": `"github.com/jinzhu/gorm"`,
|
"gorm.Model": `"github.com/jinzhu/gorm"`,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//PrintAtom .
|
||||||
type PrintAtom struct {
|
type PrintAtom struct {
|
||||||
lines []string
|
lines []string
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ import (
|
|||||||
"github.com/xxjwxc/public/tools"
|
"github.com/xxjwxc/public/tools"
|
||||||
)
|
)
|
||||||
|
|
||||||
//开始执行
|
//Execute 开始执行
|
||||||
func Execute() {
|
func Execute() {
|
||||||
|
|
||||||
orm := mysqldb.OnInitDBOrm(config.GetMysqlConStr())
|
orm := mysqldb.OnInitDBOrm(config.GetMysqlConStr())
|
||||||
|
|||||||
Reference in New Issue
Block a user