Merge pull request 'upgrade: update wrapper' (#13) from feature/upgrade_base_dao into master

Reviewed-on: #13
This commit is contained in:
2025-10-13 17:17:36 +08:00
4 changed files with 24 additions and 16 deletions

8
go.mod
View File

@ -6,10 +6,10 @@ toolchain go1.24.2
require (
git.zhangdeman.cn/zhangdeman/consts v0.0.0-20250916024308-d378e6c57772
git.zhangdeman.cn/zhangdeman/logger v0.0.0-20250817142254-a501f79e7894
git.zhangdeman.cn/zhangdeman/op_type v0.0.0-20240122104027-4928421213c0
git.zhangdeman.cn/zhangdeman/serialize v0.0.0-20250504055908-8d68e6106ea9
git.zhangdeman.cn/zhangdeman/wrapper v0.0.0-20250321102712-1cbfbe959740
git.zhangdeman.cn/zhangdeman/logger v0.0.0-20251012094811-1afd71fd8627
git.zhangdeman.cn/zhangdeman/op_type v0.0.0-20251013024601-da007da2fb42
git.zhangdeman.cn/zhangdeman/serialize v0.0.0-20251013044511-86c1a4a3a9dd
git.zhangdeman.cn/zhangdeman/wrapper v0.0.0-20251013091053-fa9097dc09fc
github.com/pkg/errors v0.9.1
github.com/xwb1989/sqlparser v0.0.0-20180606152119-120387863bf2
go.uber.org/zap v1.27.0

8
go.sum
View File

@ -8,18 +8,26 @@ git.zhangdeman.cn/zhangdeman/easymap v0.0.0-20241101082529-28a6c68e38a4 h1:s6d4b
git.zhangdeman.cn/zhangdeman/easymap v0.0.0-20241101082529-28a6c68e38a4/go.mod h1:V4Dfg1v/JVIZGEKCm6/aehs8hK+Xow1dkL1yiQymXlQ=
git.zhangdeman.cn/zhangdeman/logger v0.0.0-20250817142254-a501f79e7894 h1:7nT1CADIAO2lhikqM1lAFlwrJXa7gNaz5bcUB+LgAIE=
git.zhangdeman.cn/zhangdeman/logger v0.0.0-20250817142254-a501f79e7894/go.mod h1:UKGSNWsDmf6pBrC3SuC+jR7/Lj30c6b72hZi8dI+Vp8=
git.zhangdeman.cn/zhangdeman/logger v0.0.0-20251012094811-1afd71fd8627 h1:chAmVCoiWMcrmm+AfvesrhnZH+3+6LZZb+8UDj/E36M=
git.zhangdeman.cn/zhangdeman/logger v0.0.0-20251012094811-1afd71fd8627/go.mod h1:SZsX6q88TdR5JHZenesYhOw1x386ikfs2MkchQmW8D8=
git.zhangdeman.cn/zhangdeman/network v0.0.0-20250726060351-78810e906bfa h1:r3AK2EKbQ82ShC5+AjbE95sqm90CkpbzLpmoV3zok9Q=
git.zhangdeman.cn/zhangdeman/network v0.0.0-20250726060351-78810e906bfa/go.mod h1:v0tMMfXvE4WyUxaRo1r/D20BAbMkT5QPLSW7XtgQOxo=
git.zhangdeman.cn/zhangdeman/op_type v0.0.0-20240122104027-4928421213c0 h1:gUDlQMuJ4xNfP2Abl1Msmpa3fASLWYkNlqDFF/6GN0Y=
git.zhangdeman.cn/zhangdeman/op_type v0.0.0-20240122104027-4928421213c0/go.mod h1:VHb9qmhaPDAQDcS6vUiDCamYjZ4R5lD1XtVsh55KsMI=
git.zhangdeman.cn/zhangdeman/op_type v0.0.0-20251013024601-da007da2fb42 h1:VjYrb4adud7FHeiYS9XA0B/tOaJjfRejzQAlwimrrDc=
git.zhangdeman.cn/zhangdeman/op_type v0.0.0-20251013024601-da007da2fb42/go.mod h1:VHb9qmhaPDAQDcS6vUiDCamYjZ4R5lD1XtVsh55KsMI=
git.zhangdeman.cn/zhangdeman/serialize v0.0.0-20250504055908-8d68e6106ea9 h1:/GLQaFoLb+ciHOtAS2BIyPNnf4O5ME3AC5PUaJY9kfs=
git.zhangdeman.cn/zhangdeman/serialize v0.0.0-20250504055908-8d68e6106ea9/go.mod h1:ABJ655C5QenQNOzf7LjCe4sSB52CXvaWLX2Zg4uwDJY=
git.zhangdeman.cn/zhangdeman/serialize v0.0.0-20251013044511-86c1a4a3a9dd h1:kTZOpR8iHx27sUufMWVYhDZx9Q4h80j7RWlaR8GIBiU=
git.zhangdeman.cn/zhangdeman/serialize v0.0.0-20251013044511-86c1a4a3a9dd/go.mod h1:pLrQ63JICi81/3w2BrD26QZiu+IpddvEVfMJ6No3Xb4=
git.zhangdeman.cn/zhangdeman/util v0.0.0-20240618042405-6ee2c904644e h1:Q973S6CcWr1ICZhFI1STFOJ+KUImCl2BaIXm6YppBqI=
git.zhangdeman.cn/zhangdeman/util v0.0.0-20240618042405-6ee2c904644e/go.mod h1:VpPjBlwz8U+OxZuxzHQBv1aEEZ3pStH6bZvT21ADEbI=
git.zhangdeman.cn/zhangdeman/websocket v0.0.0-20241125101541-c5ea194c9c1e h1:YE2Gi+M03UDImIpWa3I7jzSesyfu2RL8x/4ONs5v0oE=
git.zhangdeman.cn/zhangdeman/websocket v0.0.0-20241125101541-c5ea194c9c1e/go.mod h1:L/7JugxKZL3JP9JP/XDvPAPz0FQXG1u181Su1+u/d1c=
git.zhangdeman.cn/zhangdeman/wrapper v0.0.0-20250321102712-1cbfbe959740 h1:zPUoylfJTbc0EcxW+NEzOTBmoeFZ2I/rLFBnEzxb4Wk=
git.zhangdeman.cn/zhangdeman/wrapper v0.0.0-20250321102712-1cbfbe959740/go.mod h1:1ct92dbVc49pmXusA/iGfcQUJzcYmJ+cjAhgc3sDv1I=
git.zhangdeman.cn/zhangdeman/wrapper v0.0.0-20251013091053-fa9097dc09fc h1:q+0ZRJ6NxhPHeBqzZPOt27RMuKvGJpwg37W9JdhKpjA=
git.zhangdeman.cn/zhangdeman/wrapper v0.0.0-20251013091053-fa9097dc09fc/go.mod h1:mBvTwcdqHRF3QIkAh92j/JRhru2LzyJ2LBqolxjzzKE=
github.com/BurntSushi/toml v1.5.0 h1:W5quZX/G/csjUnuI8SUYlsHs9M38FC7znL0lIO+DvMg=
github.com/BurntSushi/toml v1.5.0/go.mod h1:ukJfTF/6rtPPRCnwkur4qwRxa8vTRFBF0uk2lLoLwho=
github.com/axgle/mahonia v0.0.0-20180208002826-3358181d7394 h1:OYA+5W64v3OgClL+IrOD63t4i/RW7RqrAVl9LTZ9UqQ=

View File

@ -11,7 +11,7 @@ import (
"fmt"
"git.zhangdeman.cn/zhangdeman/database/install/define"
"git.zhangdeman.cn/zhangdeman/wrapper"
"git.zhangdeman.cn/zhangdeman/wrapper/op_string"
)
var (
@ -42,7 +42,7 @@ func (h *helper) NewPrimaryID(name string, comment string) *define.Field {
Type: "BIGINT(20)",
Unsigned: true,
NotNull: true,
DefaultValue: wrapper.String("0").ToStringPtr().Value,
DefaultValue: op_string.ToBaseValuePtr[string]("0").Value,
PrimaryKey: true,
IsAutoIncrement: true,
Comment: comment,
@ -60,7 +60,7 @@ func (h *helper) NewBigintField(name string, unsigned bool, defaultVal string, c
Type: "BIGINT(20)",
Unsigned: unsigned,
NotNull: true,
DefaultValue: wrapper.String(defaultVal).ToStringPtr().Value,
DefaultValue: op_string.ToBaseValuePtr[string](defaultVal).Value,
PrimaryKey: false,
IsAutoIncrement: false,
Comment: comment,
@ -78,7 +78,7 @@ func (h *helper) NewIntField(name string, unsigned bool, defaultVal string, comm
Type: "INT(11)",
Unsigned: unsigned,
NotNull: true,
DefaultValue: wrapper.String(defaultVal).ToStringPtr().Value,
DefaultValue: op_string.ToBaseValuePtr[string](defaultVal).Value,
PrimaryKey: false,
IsAutoIncrement: false,
Comment: comment,
@ -96,7 +96,7 @@ func (h *helper) NewVarcharField(name string, length int, defaultVal string, com
Type: fmt.Sprintf("VARCHAR(%v)", length),
Unsigned: false,
NotNull: true,
DefaultValue: wrapper.String(defaultVal).ToStringPtr().Value,
DefaultValue: op_string.ToBaseValuePtr[string](defaultVal).Value,
PrimaryKey: false,
IsAutoIncrement: false,
Comment: comment,
@ -114,7 +114,7 @@ func (h *helper) NewCharField(name string, length int, comment string, defaultVa
Type: fmt.Sprintf("CHAR(%v)", length),
Unsigned: false,
NotNull: true,
DefaultValue: wrapper.String(defaultVal).ToStringPtr().Value,
DefaultValue: op_string.ToBaseValuePtr[string](defaultVal).Value,
PrimaryKey: false,
IsAutoIncrement: false,
Comment: comment,
@ -150,7 +150,7 @@ func (h *helper) NewTimestampField(name string, comment string, defaultVal strin
Type: "TIMESTAMP",
Unsigned: false,
NotNull: true,
DefaultValue: wrapper.String(defaultVal).ToStringPtr().Value,
DefaultValue: op_string.ToBaseValuePtr[string](defaultVal).Value,
PrimaryKey: false,
IsAutoIncrement: false,
Comment: comment,
@ -168,7 +168,7 @@ func (h *helper) NewTimestampFieldWithUpdate(name string, comment string, defaul
Type: "TIMESTAMP",
Unsigned: false,
NotNull: true,
DefaultValue: wrapper.String(defaultVal).ToStringPtr().Value,
DefaultValue: op_string.ToBaseValuePtr[string](defaultVal).Value,
PrimaryKey: false,
IsAutoIncrement: false,
OnUpdate: "current_timestamp()",

View File

@ -11,7 +11,7 @@ import (
"errors"
"strings"
wrapperType "git.zhangdeman.cn/zhangdeman/wrapper"
"git.zhangdeman.cn/zhangdeman/wrapper/op_string"
"github.com/xwb1989/sqlparser"
)
@ -72,7 +72,7 @@ func ParseCreateTableSql(sql string) (*BasicTableInfo, error) {
return nil, errors.New("input sql is not ddl")
}
basic.TableName = sqlparser.String(r.NewName)
basic.ModelStructName = wrapperType.String(basic.TableName).SnakeCaseToCamel()
basic.ModelStructName = op_string.SnakeCaseToCamel(basic.TableName)
// 生成model sql
basic.ModelStruct = generateTable(basic.TableName, basic.ModelStructName, r.TableSpec.Columns)
@ -103,7 +103,7 @@ func generateTable(tableName string, modelStructName string, columnList []*sqlpa
comment = item.Name.String()
}
data := map[string]string{
"{FIELD}": wrapperType.String(item.Name.String()).SnakeCaseToCamel(),
"{FIELD}": op_string.SnakeCaseToCamel(item.Name.String()),
"{COLUMN}": item.Name.String(),
"{JSON_TAG}": item.Name.String(),
"{DEFAULT_VALUE}": "",
@ -169,7 +169,7 @@ func generateTableColumnDefined(modelStructName string, columnList []*sqlparser.
comment = column.Name.String()
}
dataMap := map[string]string{
"{FIELD}": wrapperType.String(column.Name.String()).SnakeCaseToCamel(),
"{FIELD}": op_string.SnakeCaseToCamel(column.Name.String()),
"{JSON_TAG}": column.Name.String(),
"{FIELD_COMMENT}": comment,
}