add default set
添加默认值
This commit is contained in:
12
README.md
12
README.md
@@ -186,9 +186,15 @@ or
|
|||||||
go generate
|
go generate
|
||||||
```
|
```
|
||||||
|
|
||||||
## 8. Next step
|
### 8 note : in windows not support utf-8 style . ASCALL model
|
||||||
- update,delete support
|
- Switch encoding mode
|
||||||
- revew
|
```
|
||||||
|
CHCP 65001
|
||||||
|
```
|
||||||
|
|
||||||
|
### table notes default
|
||||||
|
|
||||||
|
- Add a comment to the column starting with `[@gormt default:'test']`
|
||||||
|
|
||||||
## 9. one windows gui tools
|
## 9. one windows gui tools
|
||||||
|
|
||||||
|
|||||||
@@ -108,6 +108,7 @@ Flags:
|
|||||||
- UNIQUE_INDEX 和 INDEX 类似,只不过创建的是唯一索引
|
- UNIQUE_INDEX 和 INDEX 类似,只不过创建的是唯一索引
|
||||||
- 支持外键相关属性 [简单带外键模式导出>>>](https://github.com/xxjwxc/gormt/tree/master/doc/export_cn.md)
|
- 支持外键相关属性 [简单带外键模式导出>>>](https://github.com/xxjwxc/gormt/tree/master/doc/export_cn.md)
|
||||||
- 支持函数导出(包括:外键,关联体,索引关...)[简单函数导出示例>>>](https://github.com/xxjwxc/gormt/blob/master/data/view/genfunc/genfunc_test.go)
|
- 支持函数导出(包括:外键,关联体,索引关...)[简单函数导出示例>>>](https://github.com/xxjwxc/gormt/blob/master/data/view/genfunc/genfunc_test.go)
|
||||||
|
- 支持默认值default
|
||||||
|
|
||||||
### 您可以在这里丰富数据映射类型 [def](data/view/cnf/def.go) 。
|
### 您可以在这里丰富数据映射类型 [def](data/view/cnf/def.go) 。
|
||||||
|
|
||||||
@@ -198,6 +199,10 @@ go generate
|
|||||||
CHCP 65001
|
CHCP 65001
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### 表注释 default
|
||||||
|
|
||||||
|
- 给列添加注释以`[@gormt default:'test']`开头即可
|
||||||
|
|
||||||
|
|
||||||
## 8. 下一步计划
|
## 8. 下一步计划
|
||||||
|
|
||||||
|
|||||||
@@ -38,9 +38,10 @@ type TabInfo struct {
|
|||||||
// ColumnsInfo Columns list .表列信息
|
// ColumnsInfo Columns list .表列信息
|
||||||
type ColumnsInfo struct {
|
type ColumnsInfo struct {
|
||||||
BaseInfo
|
BaseInfo
|
||||||
Type string // Type.类型标记
|
|
||||||
Index []KList // index list.index列表
|
|
||||||
IsNull bool // null if db is set null
|
IsNull bool // null if db is set null
|
||||||
|
Type string // Type.类型标记
|
||||||
|
Default string // 默认值
|
||||||
|
Index []KList // index list.index列表
|
||||||
ForeignKeyList []ForeignKey // Foreign key list . 表的外键信息
|
ForeignKeyList []ForeignKey // Foreign key list . 表的外键信息
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -52,3 +52,23 @@ func GetMysqlModel() model.IModel {
|
|||||||
//now just support mysql
|
//now just support mysql
|
||||||
return &MySQLModel
|
return &MySQLModel
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// FixElementNote 分析元素表注释
|
||||||
|
func FixElementNote(em *model.ColumnsInfo, note string) {
|
||||||
|
matches := noteRegex.FindStringSubmatch(note)
|
||||||
|
if len(matches) < 2 {
|
||||||
|
em.Notes = note
|
||||||
|
return
|
||||||
|
}
|
||||||
|
em.Notes = note[len(matches[0]):]
|
||||||
|
|
||||||
|
list := strings.Split(matches[1], ";")
|
||||||
|
for _, v := range list {
|
||||||
|
tmp := strings.Split(v, ":")
|
||||||
|
if len(tmp) == 2 {
|
||||||
|
if strings.EqualFold(tmp[0], "default") { // 默认值
|
||||||
|
em.Default = tmp[1]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
package genmysql
|
package genmysql
|
||||||
|
|
||||||
|
import "regexp"
|
||||||
|
|
||||||
type keys struct {
|
type keys struct {
|
||||||
NonUnique int `gorm:"column:Non_unique"`
|
NonUnique int `gorm:"column:Non_unique"`
|
||||||
KeyName string `gorm:"column:Key_name"`
|
KeyName string `gorm:"column:Key_name"`
|
||||||
@@ -26,3 +28,5 @@ type genForeignKey struct {
|
|||||||
ReferencedTableName string `gorm:"column:referenced_table_name"` // Affected tables . 该索引受影响的表
|
ReferencedTableName string `gorm:"column:referenced_table_name"` // Affected tables . 该索引受影响的表
|
||||||
ReferencedColumnName string `gorm:"column:referenced_column_name"` // Which column of the affected table.该索引受影响的表的哪一列
|
ReferencedColumnName string `gorm:"column:referenced_column_name"` // Which column of the affected table.该索引受影响的表的哪一列
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var noteRegex = regexp.MustCompile(`^\[@gormt\s(\S+)+\]`)
|
||||||
|
|||||||
@@ -141,8 +141,8 @@ func getTableElement(orm *mysqldb.MySqlDB, tab string) (el []model.ColumnsInfo)
|
|||||||
for _, v := range list {
|
for _, v := range list {
|
||||||
var tmp model.ColumnsInfo
|
var tmp model.ColumnsInfo
|
||||||
tmp.Name = v.Field
|
tmp.Name = v.Field
|
||||||
tmp.Notes = v.Desc
|
|
||||||
tmp.Type = v.Type
|
tmp.Type = v.Type
|
||||||
|
FixElementNote(&tmp, v.Desc)
|
||||||
|
|
||||||
// keys
|
// keys
|
||||||
if keylist, ok := KeyColumnMp[v.Field]; ok { // maybe have index or key
|
if keylist, ok := KeyColumnMp[v.Field]; ok { // maybe have index or key
|
||||||
|
|||||||
@@ -107,6 +107,10 @@ func (m *_Model) genTableElement(cols []ColumnsInfo) (el []genstruct.GenElement)
|
|||||||
tmp.AddTag(_tagGorm, "not null")
|
tmp.AddTag(_tagGorm, "not null")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// default tag
|
||||||
|
if len(v.Default) > 0 {
|
||||||
|
tmp.AddTag(_tagGorm, "default:"+v.Default)
|
||||||
|
}
|
||||||
|
|
||||||
// json tag
|
// json tag
|
||||||
if config.GetIsWEBTag() {
|
if config.GetIsWEBTag() {
|
||||||
@@ -116,6 +120,7 @@ func (m *_Model) genTableElement(cols []ColumnsInfo) (el []genstruct.GenElement)
|
|||||||
tmp.AddTag(_tagJSON, mybigcamel.UnMarshal(v.Name))
|
tmp.AddTag(_tagJSON, mybigcamel.UnMarshal(v.Name))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
el = append(el, tmp)
|
el = append(el, tmp)
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ CREATE TABLE `user_account_tbl` (
|
|||||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||||
`account` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
|
`account` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
|
||||||
`password` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
|
`password` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
|
||||||
`account_type` int(11) NOT NULL DEFAULT '0' COMMENT '帐号类型:0手机号,1邮件',
|
`account_type` int(11) NOT NULL DEFAULT '0' COMMENT '[@gormt default:'123456']帐号类型:0手机号,1邮件',
|
||||||
`app_key` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL COMMENT 'authbucket_oauth2_client表的id',
|
`app_key` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL COMMENT 'authbucket_oauth2_client表的id',
|
||||||
`user_info_tbl_id` int(11) NOT NULL,
|
`user_info_tbl_id` int(11) NOT NULL,
|
||||||
`reg_time` datetime DEFAULT NULL,
|
`reg_time` datetime DEFAULT NULL,
|
||||||
@@ -29,7 +29,7 @@ CREATE TABLE `user_account_tbl` (
|
|||||||
UNIQUE KEY `UNIQ_5696AD037D3656A4` (`app_key`,`user_info_tbl_id`) USING BTREE,
|
UNIQUE KEY `UNIQ_5696AD037D3656A4` (`app_key`,`user_info_tbl_id`) USING BTREE,
|
||||||
KEY `user_info_id` (`user_info_tbl_id`) USING BTREE,
|
KEY `user_info_id` (`user_info_tbl_id`) USING BTREE,
|
||||||
CONSTRAINT `user_account_tbl_ibfk_1` FOREIGN KEY (`user_info_tbl_id`) REFERENCES `user_info_tbl` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT
|
CONSTRAINT `user_account_tbl_ibfk_1` FOREIGN KEY (`user_info_tbl_id`) REFERENCES `user_info_tbl` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT
|
||||||
) ENGINE=InnoDB AUTO_INCREMENT=27 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='用户账号'
|
) ENGINE=InnoDB AUTO_INCREMENT=27 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='[@gormt default:'admin']用户账号'
|
||||||
```
|
```
|
||||||
|
|
||||||
-------------
|
-------------
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ CREATE TABLE `user_account_tbl` (
|
|||||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||||
`account` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
|
`account` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
|
||||||
`password` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
|
`password` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
|
||||||
`account_type` int(11) NOT NULL DEFAULT '0' COMMENT '帐号类型:0手机号,1邮件',
|
`account_type` int(11) NOT NULL DEFAULT '0' COMMENT '[@gormt default:'123456']帐号类型:0手机号,1邮件',
|
||||||
`app_key` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL COMMENT 'authbucket_oauth2_client表的id',
|
`app_key` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL COMMENT 'authbucket_oauth2_client表的id',
|
||||||
`user_info_tbl_id` int(11) NOT NULL,
|
`user_info_tbl_id` int(11) NOT NULL,
|
||||||
`reg_time` datetime DEFAULT NULL,
|
`reg_time` datetime DEFAULT NULL,
|
||||||
@@ -29,7 +29,7 @@ CREATE TABLE `user_account_tbl` (
|
|||||||
UNIQUE KEY `UNIQ_5696AD037D3656A4` (`app_key`,`user_info_tbl_id`) USING BTREE,
|
UNIQUE KEY `UNIQ_5696AD037D3656A4` (`app_key`,`user_info_tbl_id`) USING BTREE,
|
||||||
KEY `user_info_id` (`user_info_tbl_id`) USING BTREE,
|
KEY `user_info_id` (`user_info_tbl_id`) USING BTREE,
|
||||||
CONSTRAINT `user_account_tbl_ibfk_1` FOREIGN KEY (`user_info_tbl_id`) REFERENCES `user_info_tbl` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT
|
CONSTRAINT `user_account_tbl_ibfk_1` FOREIGN KEY (`user_info_tbl_id`) REFERENCES `user_info_tbl` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT
|
||||||
) ENGINE=InnoDB AUTO_INCREMENT=27 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='用户账号'
|
) ENGINE=InnoDB AUTO_INCREMENT=27 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='[@gormt default:'admin']用户账号'
|
||||||
```
|
```
|
||||||
|
|
||||||
-------------
|
-------------
|
||||||
|
|||||||
Reference in New Issue
Block a user