-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathentity.go
123 lines (111 loc) · 3.35 KB
/
entity.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
package gomygen
import "database/sql"
type CmdEntity struct {
No string
Msg string
}
// model结构
type ModelS struct {
DB *sql.DB
T *Tools
}
//数据库配置结构
type DBConfig struct {
Host string //地址
Port int //端口
Name string //名称
Pass string //密码
DBName string //库名
Charset string //编码
Timezone string //时区
MaxIdleConn int //最大空间连接
MaxOpenConn int //最大连接数
}
//生成实体的请求结构
type EntityReq struct {
TableName string //表名称
TableComment string //表注释
Path string //文件路径
Pkg string //命名空间名称
FormatList []string
TableDesc []*TableDesc //表详情
}
//表结构详情
type TableDesc struct {
Index int
ColumnName string //数据库原始字段
GoColumnName string //go使用的字段名称
OriMysqlType string //数据库原始类型
UpperMysqlType string //转换大写的类型
GolangType string //转换成golang类型
MysqlNullType string //MYSQL对应的空类型
PrimaryKey bool //是否是主键
IsNull string //是否为空
DefaultValue string //默认值
ColumnTypeNumber string //类型(长度)
ColumnComment string //备注
}
//markdown
type MarkDownData struct {
TableList []*TableList
DescList []*MarkDownDataChild
}
type MarkDownDataChild struct {
Index int //自增
TableName string //表名
Comment string //表备注
List []*TableDesc
}
//表字段信息
type FieldsInfo struct {
Name string
Type string
NullType string
DbName string
DbOriField string //数据库的原生字段名称
FormatFields string
Remark string
}
//表信息结构
type TableInfo struct {
Table string //表名
NullTable string //空表名称
TableComment string //表注释
TableCommentNull string //表注释
Fields []*FieldsInfo //表字段
}
//表名和表注释
type TableList struct {
Index int
UpperTableName string
TableName string
Comment string
}
//生成select,update,insert,delete所需信息
type SqlInfo struct {
TableName string //表名
PrimaryKey string //主键字段
PrimaryType string //主键类型
StructTableName string //结构表名称
NullStructTableName string //判断为空的表名
UpperTableName string //大写的表名
AllFieldList string //所有字段列表,如: id,name
InsertFieldList string //插入字段列表,如:id,name
InsertMark string //插入字段使用多少个?,如: ?,?,?
UpdateFieldList string //更新字段列表
UpdateListField []string //更新字段列表
FieldsInfo []*SqlFieldInfo //字段信息
NullFieldsInfo []*NullSqlFieldInfo //判断为空时
InsertInfo []*SqlFieldInfo
}
//查询使用的字段结构信息
type SqlFieldInfo struct {
HumpName string //驼峰字段名称
Comment string //字段注释
}
type NullSqlFieldInfo struct {
GoType string //golang类型
HumpName string //驼峰字段名称
OriFieldType string //原数据库类型
Comment string //字段注释
}