goctl added
This commit is contained in:
99
tools/goctl/model/sql/gen/shared.go
Normal file
99
tools/goctl/model/sql/gen/shared.go
Normal file
@@ -0,0 +1,99 @@
|
||||
package gen
|
||||
|
||||
var (
|
||||
commonMysqlDataTypeMap = map[string]string{
|
||||
"tinyint": "int64",
|
||||
"smallint": "int64",
|
||||
"mediumint": "int64",
|
||||
"int": "int64",
|
||||
"integer": "int64",
|
||||
"bigint": "int64",
|
||||
"float": "float64",
|
||||
"double": "float64",
|
||||
"decimal": "float64",
|
||||
"date": "time.Time",
|
||||
"time": "string",
|
||||
"year": "int64",
|
||||
"datetime": "time.Time",
|
||||
"timestamp": "time.Time",
|
||||
"char": "string",
|
||||
"varchar": "string",
|
||||
"tinyblob": "string",
|
||||
"tinytext": "string",
|
||||
"blob": "string",
|
||||
"text": "string",
|
||||
"mediumblob": "string",
|
||||
"mediumtext": "string",
|
||||
"longblob": "string",
|
||||
"longtext": "string",
|
||||
}
|
||||
)
|
||||
|
||||
const (
|
||||
QueryNone QueryType = 0
|
||||
QueryOne QueryType = 1 // 仅支持单个字段为查询条件
|
||||
QueryAll QueryType = 2 // 可支持多个字段为查询条件,且关系均为and
|
||||
QueryLimit QueryType = 3 // 可支持多个字段为查询条件,且关系均为and
|
||||
)
|
||||
|
||||
type (
|
||||
QueryType int
|
||||
|
||||
Case struct {
|
||||
SnakeCase string
|
||||
LowerCamelCase string
|
||||
UpperCamelCase string
|
||||
}
|
||||
InnerWithField struct {
|
||||
Case
|
||||
DataType string
|
||||
}
|
||||
InnerTable struct {
|
||||
Case
|
||||
ContainsCache bool
|
||||
CreateNotFound bool
|
||||
PrimaryField *InnerField
|
||||
Fields []*InnerField
|
||||
CacheKey map[string]Key // key-数据库字段
|
||||
}
|
||||
InnerField struct {
|
||||
IsPrimaryKey bool
|
||||
InnerWithField
|
||||
DataBaseType string // 数据库中字段类型
|
||||
Tag string // 标签,格式:`db:"xxx"`
|
||||
Comment string // 注释,以"// 开头"
|
||||
Cache bool // 是否缓存模式
|
||||
QueryType QueryType
|
||||
WithFields []InnerWithField
|
||||
Sort []InnerSort
|
||||
}
|
||||
InnerSort struct {
|
||||
Field Case
|
||||
Asc bool
|
||||
}
|
||||
|
||||
OuterTable struct {
|
||||
Table string `json:"table"`
|
||||
CreateNotFound bool `json:"createNotFound,optional"`
|
||||
Fields []*OuterFiled `json:"fields"`
|
||||
}
|
||||
OuterWithField struct {
|
||||
Name string `json:"name"`
|
||||
DataBaseType string `json:"dataBaseType"`
|
||||
}
|
||||
OuterSort struct {
|
||||
Field string `json:"fields"`
|
||||
Asc bool `json:"asc,optional"`
|
||||
}
|
||||
OuterFiled struct {
|
||||
IsPrimaryKey bool `json:"isPrimaryKey,optional"`
|
||||
Name string `json:"name"`
|
||||
DataBaseType string `json:"dataBaseType"`
|
||||
Comment string `json:"comment"`
|
||||
Cache bool `json:"cache,optional"`
|
||||
// if IsPrimaryKey==false下面字段有效
|
||||
QueryType QueryType `json:"queryType"` // 查找类型
|
||||
WithFields []OuterWithField `json:"withFields,optional"` // 其他字段联合组成条件的字段列表
|
||||
OuterSort []OuterSort `json:"sort,optional"`
|
||||
}
|
||||
)
|
||||
Reference in New Issue
Block a user