Merge pull request '升级数据表结构体生成的内容' (#2) from feture/sql_format into master
Reviewed-on: #2
This commit is contained in:
		
							
								
								
									
										107
									
								
								go.sum
									
									
									
									
									
								
							
							
						
						
									
										107
									
								
								go.sum
									
									
									
									
									
								
							| @ -1,44 +1,20 @@ | ||||
| filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= | ||||
| filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= | ||||
| git.zhangdeman.cn/zhangdeman/consts v0.0.0-20230815040024-2b12dd51d19b h1:C7KftnLh7dOqzNRs5dn/9yqMDvuqMn5RCglvV6bY758= | ||||
| git.zhangdeman.cn/zhangdeman/consts v0.0.0-20230815040024-2b12dd51d19b/go.mod h1:IXXaZkb7vGzGnGM5RRWrASAuwrVSNxuoe0DmeXx5g6k= | ||||
| git.zhangdeman.cn/zhangdeman/consts v0.0.0-20240104123641-b3f23974e5d6 h1:ytpXTP3oxp480BAZQoOzqlBP4XP73NcpMplZ1/fA1lQ= | ||||
| git.zhangdeman.cn/zhangdeman/consts v0.0.0-20240104123641-b3f23974e5d6/go.mod h1:IXXaZkb7vGzGnGM5RRWrASAuwrVSNxuoe0DmeXx5g6k= | ||||
| git.zhangdeman.cn/zhangdeman/consts v0.0.0-20240408083510-54975506dff0 h1:MqZVuOaReq6IGWkwUzTOw7qzVhRlIrJVi9E2J6pWit0= | ||||
| git.zhangdeman.cn/zhangdeman/consts v0.0.0-20240408083510-54975506dff0/go.mod h1:IXXaZkb7vGzGnGM5RRWrASAuwrVSNxuoe0DmeXx5g6k= | ||||
| git.zhangdeman.cn/zhangdeman/easymap v0.0.0-20230826152035-90f7ba59144a h1:B37yGkb/ETYInbS3j5JR6lgXPsvGjKcY26fsIlSpKxA= | ||||
| git.zhangdeman.cn/zhangdeman/easymap v0.0.0-20230826152035-90f7ba59144a/go.mod h1:l9S40lsDnTd/VAZjh1kmfYvz0B9z+7oT86pMQ/KurWo= | ||||
| git.zhangdeman.cn/zhangdeman/easymap v0.0.0-20231229032122-804bc9822704/go.mod h1:SrtvrQRdzt+8KfYzvosH++gWxo2ShPTzR1m3VQ6uX7U= | ||||
| git.zhangdeman.cn/zhangdeman/easymap v0.0.0-20240311030808-e2a2e6a3c211 h1:I/wOsRpCSRkU9vo1u703slQsmK0wnNeZzsWQOGtIAG0= | ||||
| git.zhangdeman.cn/zhangdeman/easymap v0.0.0-20240311030808-e2a2e6a3c211/go.mod h1:SrtvrQRdzt+8KfYzvosH++gWxo2ShPTzR1m3VQ6uX7U= | ||||
| git.zhangdeman.cn/zhangdeman/gin v0.0.0-20230910072935-d176a23c53d1 h1:PSHEmrCJYabC30IkAWHMV22vmdwLtEJW5H/OqVwAaTA= | ||||
| git.zhangdeman.cn/zhangdeman/gin v0.0.0-20230910072935-d176a23c53d1/go.mod h1:wk5vDJWbWWq5C2zuPIHFDu/92SzPNverELcRPdWglGM= | ||||
| git.zhangdeman.cn/zhangdeman/gin v0.0.0-20240102081642-c4edba172b59 h1:5PczpGlBxlo9AbbQrhnZSxC+Kp2E0fdywM0x6BCI2c8= | ||||
| git.zhangdeman.cn/zhangdeman/gin v0.0.0-20240102081642-c4edba172b59/go.mod h1:8S+YPh3DRMkG9UI2LRyTQB1/p910cukfjGKignlNses= | ||||
| git.zhangdeman.cn/zhangdeman/gin v0.0.0-20240315025001-0ffe074179ad h1:7gjk79UkYOo7AvEFXSZoHeobahGZjltOCLdpFe5Wy80= | ||||
| git.zhangdeman.cn/zhangdeman/gin v0.0.0-20240315025001-0ffe074179ad/go.mod h1:3ynlnhdbwWTxrjrVBoGo+bGhqKwpTJaj//2b8Yyy/wo= | ||||
| git.zhangdeman.cn/zhangdeman/logger v0.0.0-20231008133508-da9b21010445 h1:yBpL6QqC5e4LS5LZgwnjeanUmbJleeCwvZ344EpR5Vg= | ||||
| git.zhangdeman.cn/zhangdeman/logger v0.0.0-20231008133508-da9b21010445/go.mod h1:qLJrvO4n5i0PjOCCcAQUMKDvsqf8QJRmMUDRk8yAw7g= | ||||
| git.zhangdeman.cn/zhangdeman/logger v0.0.0-20240308024848-54993a0ed4a6 h1:KeRD+IMkzk5RcHyJijT7tLRKW4wtulGcpG1dkKSr/5A= | ||||
| git.zhangdeman.cn/zhangdeman/logger v0.0.0-20240308024848-54993a0ed4a6/go.mod h1:IpTqawATar71MlLpheQAWrsXMqV2AxoZ3e0Vp3MeHNs= | ||||
| git.zhangdeman.cn/zhangdeman/op_type v0.0.0-20231014130641-ca8081f83abe h1:J5EYHX4A4pV7Jlxjg3ZCyV6t5L8NPb1czHhawGQisUY= | ||||
| git.zhangdeman.cn/zhangdeman/op_type v0.0.0-20231014130641-ca8081f83abe/go.mod h1:VHb9qmhaPDAQDcS6vUiDCamYjZ4R5lD1XtVsh55KsMI= | ||||
| 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/serialize v0.0.0-20230909065133-098dcddf1fca h1:CoazDbdGF/bKooOdbyW4R9bmu+i+XvymKuxNFEi/UCE= | ||||
| git.zhangdeman.cn/zhangdeman/serialize v0.0.0-20230909065133-098dcddf1fca/go.mod h1:AWyjclAKRM7HiUNzm2wKhYw+s4Jz7fg8YngN+PYdKNo= | ||||
| git.zhangdeman.cn/zhangdeman/serialize v0.0.0-20231201104703-2a8ebdc5697a h1:gWBA5Wu5744oAk5B4heZBrF/Q36xA8cpUVcVQ6/1gl8= | ||||
| git.zhangdeman.cn/zhangdeman/serialize v0.0.0-20231201104703-2a8ebdc5697a/go.mod h1:w7kG4zyTJ1uPFaTWhze+OQuaUBINT2XnDxpyiM6ctc0= | ||||
| git.zhangdeman.cn/zhangdeman/serialize v0.0.0-20240110090803-399e964daa0c h1:k7VCn9GfRGTilvdF/TcTFVMDBfKLe3VeGAtMTiDSnS0= | ||||
| git.zhangdeman.cn/zhangdeman/serialize v0.0.0-20240110090803-399e964daa0c/go.mod h1:w7kG4zyTJ1uPFaTWhze+OQuaUBINT2XnDxpyiM6ctc0= | ||||
| git.zhangdeman.cn/zhangdeman/serialize v0.0.0-20240325080031-1f58204e8687 h1:uQcGqdzi4UdpZlp4f4FUPeBqoygP58pEKJkmN3ROsE0= | ||||
| git.zhangdeman.cn/zhangdeman/serialize v0.0.0-20240325080031-1f58204e8687/go.mod h1:gf7SW2TXATgux8pfdFedMkXWv2515OtIIM/5c4atkFw= | ||||
| git.zhangdeman.cn/zhangdeman/util v0.0.0-20231014142840-445c6407db92 h1:p1GVRYJc3NNoZeLs4CukitAbM3O/ALNq3l31cnbBQDM= | ||||
| git.zhangdeman.cn/zhangdeman/util v0.0.0-20231014142840-445c6407db92/go.mod h1:6OBeuwKy2J1TjdAwStEyC6aYC3kStmJiCg1eFC7g0fk= | ||||
| git.zhangdeman.cn/zhangdeman/util v0.0.0-20231227095334-7eb5cdbf9253 h1:GO3oZa5a2sqwAzGcLDJtQzmshSWRmoP7IDS8bwFqvC4= | ||||
| git.zhangdeman.cn/zhangdeman/util v0.0.0-20231227095334-7eb5cdbf9253/go.mod h1:VpPjBlwz8U+OxZuxzHQBv1aEEZ3pStH6bZvT21ADEbI= | ||||
| git.zhangdeman.cn/zhangdeman/wrapper v0.0.0-20230904123542-faafa8ee2a79 h1:zYeoxIpceV8/NUuMElYhr1pl+0xAhhKFLZD6XbbKs6M= | ||||
| git.zhangdeman.cn/zhangdeman/wrapper v0.0.0-20230904123542-faafa8ee2a79/go.mod h1:kvjAbtGTo14gKCS0X4rxnb2sPkskHOUy2NXcx34t6Mw= | ||||
| git.zhangdeman.cn/zhangdeman/wrapper v0.0.0-20231227102049-448b472c5336/go.mod h1:txJM11rEDsszLb3ACJIlPYv1EoNu+QbkXqjx0kCpMZo= | ||||
| git.zhangdeman.cn/zhangdeman/wrapper v0.0.0-20240311031825-1e1db094998e h1:XjIslopH1PKIWCe0qVhuWinCknX9hfJ9vDh89X0+t/Y= | ||||
| git.zhangdeman.cn/zhangdeman/wrapper v0.0.0-20240311031825-1e1db094998e/go.mod h1:cNqsGQDNa5ykiZEpAr0y5v9B1i4WKyHdxZ7hoJaUnhc= | ||||
| github.com/BurntSushi/toml v1.3.2 h1:o7IhLm0Msx3BaB+n3Ag7L8EVlByGnpq14C4YWiu/gL8= | ||||
| github.com/BurntSushi/toml v1.3.2/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= | ||||
| @ -46,10 +22,6 @@ github.com/axgle/mahonia v0.0.0-20180208002826-3358181d7394 h1:OYA+5W64v3OgClL+I | ||||
| github.com/axgle/mahonia v0.0.0-20180208002826-3358181d7394/go.mod h1:Q8n74mJTIgjX4RBBcHnJ05h//6/k6foqmgE45jTQtxg= | ||||
| github.com/bytedance/sonic v1.5.0/go.mod h1:ED5hyg4y6t3/9Ku1R6dU/4KyJ48DZ4jPhfY1O2AihPM= | ||||
| github.com/bytedance/sonic v1.10.0-rc/go.mod h1:ElCzW+ufi8qKqNW0FY314xriJhyJhuoJ3gFZdAHF7NM= | ||||
| github.com/bytedance/sonic v1.10.2 h1:GQebETVBxYB7JGWJtLBi07OVzWwt+8dWA00gEVW2ZFE= | ||||
| github.com/bytedance/sonic v1.10.2/go.mod h1:iZcSUejdk5aukTND/Eu/ivjQuEL0Cu9/rf50Hi0u/g4= | ||||
| github.com/bytedance/sonic v1.11.2 h1:ywfwo0a/3j9HR8wsYGWsIWl2mvRsI950HyoxiBERw5A= | ||||
| github.com/bytedance/sonic v1.11.2/go.mod h1:iZcSUejdk5aukTND/Eu/ivjQuEL0Cu9/rf50Hi0u/g4= | ||||
| github.com/bytedance/sonic v1.11.3 h1:jRN+yEjakWh8aK5FzrciUHG8OFXK+4/KrAX/ysEtHAA= | ||||
| github.com/bytedance/sonic v1.11.3/go.mod h1:iZcSUejdk5aukTND/Eu/ivjQuEL0Cu9/rf50Hi0u/g4= | ||||
| github.com/chenzhuoyu/base64x v0.0.0-20211019084208-fb5309c8db06/go.mod h1:DH46F32mSOjUmXrMHnKwZdA8wcEefY7UVqBKYGjpdQY= | ||||
| @ -76,20 +48,13 @@ github.com/go-playground/locales v0.14.1 h1:EWaQ/wswjilfKLTECiXz7Rh+3BjFhfDFKv/o | ||||
| github.com/go-playground/locales v0.14.1/go.mod h1:hxrqLVvrK65+Rwrd5Fc6F2O76J/NuW9t0sjnWqG1slY= | ||||
| github.com/go-playground/universal-translator v0.18.1 h1:Bcnm0ZwsGyWbCzImXv+pAJnYK9S473LQFuzCbDbfSFY= | ||||
| github.com/go-playground/universal-translator v0.18.1/go.mod h1:xekY+UJKNuX9WP91TpwSH2VMlDf28Uj24BCp08ZFTUY= | ||||
| github.com/go-playground/validator/v10 v10.16.0 h1:x+plE831WK4vaKHO/jpgUGsvLKIqRRkz6M78GuJAfGE= | ||||
| github.com/go-playground/validator/v10 v10.16.0/go.mod h1:9iXMNT7sEkjXb0I+enO7QXmzG6QCsPWY4zveKFVRSyU= | ||||
| github.com/go-playground/validator/v10 v10.17.0 h1:SmVVlfAOtlZncTxRuinDPomC2DkXJ4E5T9gDA0AIH74= | ||||
| github.com/go-playground/validator/v10 v10.17.0/go.mod h1:9iXMNT7sEkjXb0I+enO7QXmzG6QCsPWY4zveKFVRSyU= | ||||
| github.com/go-playground/validator/v10 v10.19.0 h1:ol+5Fu+cSq9JD7SoSqe04GMI92cbn0+wvQ3bZ8b/AU4= | ||||
| github.com/go-playground/validator/v10 v10.19.0/go.mod h1:dbuPbCMFw/DrkbEynArYaCwl3amGuJotoKCe95atGMM= | ||||
| github.com/go-sql-driver/mysql v1.7.0/go.mod h1:OXbVy3sEdcQ2Doequ6Z5BW6fXNQTmx+9S1MCJN5yJMI= | ||||
| github.com/go-sql-driver/mysql v1.7.1 h1:lUIinVbN1DY0xBg0eMOzmmtGoHwWBbvnWubQUrtU8EI= | ||||
| github.com/go-sql-driver/mysql v1.7.1/go.mod h1:OXbVy3sEdcQ2Doequ6Z5BW6fXNQTmx+9S1MCJN5yJMI= | ||||
| github.com/go-sql-driver/mysql v1.8.1 h1:LedoTUt/eveggdHS9qUFC1EFSa8bU2+1pZjSRpvNJ1Y= | ||||
| github.com/go-sql-driver/mysql v1.8.1/go.mod h1:wEBSXgmK//2ZFJyE+qWnIsVGmvmEKlqwuVSjsCm7DZg= | ||||
| github.com/goccy/go-json v0.10.2 h1:CrxCmQqYDkv1z7lO7Wbh2HN93uovUHgrECaO5ZrCXAU= | ||||
| github.com/goccy/go-json v0.10.2/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= | ||||
| github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= | ||||
| github.com/google/go-cmp v0.5.5 h1:Khx7svrCpmxxtHBq5j2mp/xVjsi8hQMfNLvJFAlrGgU= | ||||
| github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= | ||||
| github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= | ||||
| @ -102,13 +67,9 @@ github.com/jonboulle/clockwork v0.3.0/go.mod h1:Pkfl5aHPm1nk2H9h0bjmnJD/BcgbGXUB | ||||
| github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= | ||||
| github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= | ||||
| github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= | ||||
| github.com/klauspost/cpuid/v2 v2.2.6 h1:ndNyv040zDGIDh8thGkXYjnFtiN02M1PVVF+JE/48xc= | ||||
| github.com/klauspost/cpuid/v2 v2.2.6/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= | ||||
| github.com/klauspost/cpuid/v2 v2.2.7 h1:ZWSB3igEs+d0qvnxR/ZBzXVmxkgt8DdzP6m9pfuVLDM= | ||||
| github.com/klauspost/cpuid/v2 v2.2.7/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= | ||||
| github.com/knz/go-libedit v1.10.1/go.mod h1:MZTVkCWyz0oBc7JOWP3wNAzd002ZbM/5hgShxwh4x8M= | ||||
| github.com/leodido/go-urn v1.2.4 h1:XlAE/cm/ms7TE/VMVoduSpNBoyc2dOxHs5MZSwAN63Q= | ||||
| github.com/leodido/go-urn v1.2.4/go.mod h1:7ZrI8mTSeBSHl/UaRyKQW1qZeMgak41ANeCNaVckg+4= | ||||
| github.com/leodido/go-urn v1.4.0 h1:WT9HwE9SGECu3lg4d/dIA+jxlljEa1/ffXKmRjqdmIQ= | ||||
| github.com/leodido/go-urn v1.4.0/go.mod h1:bvxc+MVxLKB4z00jd1z+Dvzr47oO32F/QSNjSBOlFxI= | ||||
| github.com/lestrrat-go/envload v0.0.0-20180220234015-a3eb8ddeffcc h1:RKf14vYWi2ttpEmkA4aQ3j4u9dStX2t4M8UM6qqNsG8= | ||||
| @ -119,10 +80,6 @@ github.com/lestrrat-go/strftime v1.0.6 h1:CFGsDEt1pOpFNU+TJB0nhz9jl+K0hZSLE205Ah | ||||
| github.com/lestrrat-go/strftime v1.0.6/go.mod h1:f7jQKgV5nnJpYgdEasS+/y7EsTb8ykN2z68n3TtcTaw= | ||||
| github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= | ||||
| github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= | ||||
| github.com/mattn/go-sqlite3 v1.14.18 h1:JL0eqdCOq6DJVNPSvArO/bIV9/P7fbGrV00LZHc+5aI= | ||||
| github.com/mattn/go-sqlite3 v1.14.18/go.mod h1:2eHXhiwb8IkHr+BDWZGa96P6+rkvnG63S2DGjv9HUNg= | ||||
| github.com/mattn/go-sqlite3 v1.14.19 h1:fhGleo2h1p8tVChob4I9HpmVFIAkKGpiukdrgQbWfGI= | ||||
| github.com/mattn/go-sqlite3 v1.14.19/go.mod h1:2eHXhiwb8IkHr+BDWZGa96P6+rkvnG63S2DGjv9HUNg= | ||||
| github.com/mattn/go-sqlite3 v1.14.22 h1:2gZY6PC6kBnID23Tichd1K+Z0oS6nE/XwU+Vz/5o4kU= | ||||
| github.com/mattn/go-sqlite3 v1.14.22/go.mod h1:Uh1q+B4BYcTPb+yiD3kU8Ct7aC0hY9fxUwlHK0RXw+Y= | ||||
| github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= | ||||
| @ -134,10 +91,6 @@ github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9G | ||||
| github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= | ||||
| github.com/mozillazg/go-pinyin v0.20.0 h1:BtR3DsxpApHfKReaPO1fCqF4pThRwH9uwvXzm+GnMFQ= | ||||
| github.com/mozillazg/go-pinyin v0.20.0/go.mod h1:iR4EnMMRXkfpFVV5FMi4FNB6wGq9NV6uDWbUuPhP4Yc= | ||||
| github.com/pelletier/go-toml/v2 v2.1.0 h1:FnwAJ4oYMvbT/34k9zzHuZNrhlz48GB3/s6at6/MHO4= | ||||
| github.com/pelletier/go-toml/v2 v2.1.0/go.mod h1:tJU2Z3ZkXwnxa4DPO899bsyIoywizdUvyaeZurnPPDc= | ||||
| github.com/pelletier/go-toml/v2 v2.1.1 h1:LWAJwfNvjQZCFIDKWYQaM62NcYeYViCmWIwmOStowAI= | ||||
| github.com/pelletier/go-toml/v2 v2.1.1/go.mod h1:tJU2Z3ZkXwnxa4DPO899bsyIoywizdUvyaeZurnPPDc= | ||||
| github.com/pelletier/go-toml/v2 v2.2.1 h1:9TA9+T8+8CUCO2+WYnDLCgrYi9+omqKXyjDtosvtEhg= | ||||
| github.com/pelletier/go-toml/v2 v2.2.1/go.mod h1:1t835xjRzz80PqgE6HHgN2JOsmgYu/h4qDAS4n929Rs= | ||||
| github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= | ||||
| @ -155,75 +108,36 @@ github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/ | ||||
| github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= | ||||
| github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= | ||||
| github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= | ||||
| github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= | ||||
| github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= | ||||
| github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= | ||||
| github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= | ||||
| github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= | ||||
| github.com/twitchyliquid64/golang-asm v0.15.1 h1:SU5vSMR7hnwNxj24w34ZyCi/FmDZTkS4MhqMhdFk5YI= | ||||
| github.com/twitchyliquid64/golang-asm v0.15.1/go.mod h1:a1lVb/DtPvCB8fslRZhAngC2+aY1QWCk3Cedj/Gdt08= | ||||
| github.com/ugorji/go/codec v1.2.11 h1:BMaWp1Bb6fHwEtbplGBGJ498wD+LKlNSl25MjdZY4dU= | ||||
| github.com/ugorji/go/codec v1.2.11/go.mod h1:UNopzCgEMSXjBc6AOMqYvWC1ktqTAfzJZUZgYf6w6lg= | ||||
| github.com/ugorji/go/codec v1.2.12 h1:9LC83zGrHhuUA9l16C9AHXAqEV/2wBQ4nkvumAE65EE= | ||||
| github.com/ugorji/go/codec v1.2.12/go.mod h1:UNopzCgEMSXjBc6AOMqYvWC1ktqTAfzJZUZgYf6w6lg= | ||||
| github.com/xwb1989/sqlparser v0.0.0-20180606152119-120387863bf2 h1:zzrxE1FKn5ryBNl9eKOeqQ58Y/Qpo3Q9QNxKHX5uzzQ= | ||||
| github.com/xwb1989/sqlparser v0.0.0-20180606152119-120387863bf2/go.mod h1:hzfGeIUDq/j97IG+FhNqkowIyEcD88LrW6fyU3K3WqY= | ||||
| go.uber.org/goleak v1.2.0 h1:xqgm/S+aQvhWFTtR0XK3Jvg7z8kGV8P4X14IzwN3Eqk= | ||||
| go.uber.org/goleak v1.2.0/go.mod h1:XJYK+MuIchqpmGmUSAzotztawfKvYLUIgg7guXrwVUo= | ||||
| go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= | ||||
| go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= | ||||
| go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= | ||||
| go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y= | ||||
| go.uber.org/zap v1.26.0 h1:sI7k6L95XOKS281NhVKOFCUNIvv9e0w4BF8N3u+tCRo= | ||||
| go.uber.org/zap v1.26.0/go.mod h1:dtElttAiwGvoJ/vj4IwHBS/gXsEu/pZ50mUIRWuG0so= | ||||
| go.uber.org/zap v1.27.0 h1:aJMhYGrd5QSmlpLMr2MftRKl7t8J8PTZPA732ud/XR8= | ||||
| go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E= | ||||
| golang.org/x/arch v0.0.0-20210923205945-b76863e36670/go.mod h1:5om86z9Hs0C8fWVUuoMHwpExlXzs5Tkyp9hOrfG7pp8= | ||||
| golang.org/x/arch v0.6.0 h1:S0JTfE48HbRj80+4tbvZDYsJ3tGv6BUU3XxyZ7CirAc= | ||||
| golang.org/x/arch v0.6.0/go.mod h1:FEVrYAQjsQXMVJ1nsMoVVXPZg6p2JE2mx8psSWTDQys= | ||||
| golang.org/x/arch v0.7.0 h1:pskyeJh/3AmoQ8CPE95vxHLqp1G1GfGNXTmcl9NEKTc= | ||||
| golang.org/x/arch v0.7.0/go.mod h1:FEVrYAQjsQXMVJ1nsMoVVXPZg6p2JE2mx8psSWTDQys= | ||||
| golang.org/x/crypto v0.15.0 h1:frVn1TEaCEaZcn3Tmd7Y2b5KKPaZ+I32Q2OA3kYp5TA= | ||||
| golang.org/x/crypto v0.15.0/go.mod h1:4ChreQoLWfG3xLDer1WdlH5NdlQ3+mwnQq1YTKY+72g= | ||||
| golang.org/x/crypto v0.16.0 h1:mMMrFzRSCF0GvB7Ne27XVtVAaXLrPmgPC7/v0tkwHaY= | ||||
| golang.org/x/crypto v0.16.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4= | ||||
| golang.org/x/crypto v0.18.0 h1:PGVlW0xEltQnzFZ55hkuX5+KLyrMYhHld1YHO4AKcdc= | ||||
| golang.org/x/crypto v0.18.0/go.mod h1:R0j02AL6hcrfOiy9T4ZYp/rcWeMxM3L6QYxlOuEG1mg= | ||||
| golang.org/x/crypto v0.21.0 h1:X31++rzVUdKhX5sWmSOFZxx8UW/ldWx55cbf08iNAMA= | ||||
| golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs= | ||||
| golang.org/x/crypto v0.22.0 h1:g1v0xeRhjcugydODzvb3mEM9SQ0HGp9s/nh3COQ/C30= | ||||
| golang.org/x/crypto v0.22.0/go.mod h1:vr6Su+7cTlO45qkww3VDJlzDn0ctJvRgYbC2NvXHt+M= | ||||
| golang.org/x/net v0.18.0 h1:mIYleuAkSbHh0tCv7RvjL3F6ZVbLjq4+R7zbOn3Kokg= | ||||
| golang.org/x/net v0.18.0/go.mod h1:/czyP5RqHAH4odGYxBJ1qz0+CE5WZ+2j1YgoEo8F2jQ= | ||||
| golang.org/x/net v0.19.0 h1:zTwKpTd2XuCqf8huc7Fo2iSy+4RHPd10s4KzeTnVr1c= | ||||
| golang.org/x/net v0.19.0/go.mod h1:CfAk/cbD4CthTvqiEl8NpboMuiuOYsAr/7NOjZJtv1U= | ||||
| golang.org/x/net v0.20.0 h1:aCL9BSgETF1k+blQaYUBx9hJ9LOGP3gAVemcZlf1Kpo= | ||||
| golang.org/x/net v0.20.0/go.mod h1:z8BVo6PvndSri0LbOE3hAn0apkU+1YvI6E70E9jsnvY= | ||||
| golang.org/x/net v0.22.0 h1:9sGLhx7iRIHEiX0oAJ3MRZMUCElJgy7Br1nO+AMN3Tc= | ||||
| golang.org/x/net v0.22.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg= | ||||
| golang.org/x/net v0.24.0 h1:1PcaxkF854Fu3+lvBIx5SYn9wRlBzzcnHZSiaFFAb0w= | ||||
| golang.org/x/net v0.24.0/go.mod h1:2Q7sJY5mzlzWjKtYUEXSlBWCdyaioyXzRB2RtU8KVE8= | ||||
| golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= | ||||
| golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= | ||||
| golang.org/x/sys v0.14.0 h1:Vz7Qs629MkJkGyHxUlRHizWJRG2j8fbQKjELVSNhy7Q= | ||||
| golang.org/x/sys v0.14.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= | ||||
| golang.org/x/sys v0.15.0 h1:h48lPFYpsTvQJZF4EKyI4aLHaev3CxivZmv7yZig9pc= | ||||
| golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= | ||||
| golang.org/x/sys v0.16.0 h1:xWw16ngr6ZMtmxDyKyIgsE93KNKz5HKmMa3b8ALHidU= | ||||
| golang.org/x/sys v0.16.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= | ||||
| golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4= | ||||
| golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= | ||||
| golang.org/x/sys v0.19.0 h1:q5f1RH2jigJ1MoAWp2KTp3gm5zAGFUTarQZ5U386+4o= | ||||
| golang.org/x/sys v0.19.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= | ||||
| golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= | ||||
| golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= | ||||
| golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= | ||||
| golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE= | ||||
| golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= | ||||
| golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 h1:+cNy6SZtPcJQH3LJVLOSmiC7MMxXNOb3PU/VUEz+EhU= | ||||
| golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028/go.mod h1:NDW/Ps6MPRej6fsCIbMTohpP40sJ/P/vI1MoTEGwX90= | ||||
| google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= | ||||
| google.golang.org/protobuf v1.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8= | ||||
| google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= | ||||
| google.golang.org/protobuf v1.32.0 h1:pPC6BG5ex8PDFnkbrGU3EixyhKcQ2aDuBS36lqK/C7I= | ||||
| google.golang.org/protobuf v1.32.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= | ||||
| google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI= | ||||
| google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= | ||||
| gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= | ||||
| @ -231,21 +145,10 @@ gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8 | ||||
| gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= | ||||
| gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= | ||||
| gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= | ||||
| gorm.io/driver/mysql v1.5.2 h1:QC2HRskSE75wBuOxe0+iCkyJZ+RqpudsQtqkp+IMuXs= | ||||
| gorm.io/driver/mysql v1.5.2/go.mod h1:pQLhh1Ut/WUAySdTHwBpBv6+JKcj+ua4ZFx1QQTBzb8= | ||||
| gorm.io/driver/mysql v1.5.4 h1:igQmHfKcbaTVyAIHNhhB888vvxh8EdQ2uSUT0LPcBso= | ||||
| gorm.io/driver/mysql v1.5.4/go.mod h1:9rYxJph/u9SWkWc9yY4XJ1F/+xO0S/ChOmbk3+Z5Tvs= | ||||
| gorm.io/driver/mysql v1.5.6 h1:Ld4mkIickM+EliaQZQx3uOJDJHtrd70MxAUqWqlx3Y8= | ||||
| gorm.io/driver/mysql v1.5.6/go.mod h1:sEtPWMiqiN1N1cMXoXmBbd8C6/l+TESwriotuRRpkDM= | ||||
| gorm.io/driver/sqlite v1.5.4 h1:IqXwXi8M/ZlPzH/947tn5uik3aYQslP9BVveoax0nV0= | ||||
| gorm.io/driver/sqlite v1.5.4/go.mod h1:qxAuCol+2r6PannQDpOP1FP6ag3mKi4esLnB/jHed+4= | ||||
| gorm.io/driver/sqlite v1.5.5 h1:7MDMtUZhV065SilG62E0MquljeArQZNfJnjd9i9gx3E= | ||||
| gorm.io/driver/sqlite v1.5.5/go.mod h1:6NgQ7sQWAIFsPrJJl1lSNSu2TABh0ZZ/zm5fosATavE= | ||||
| gorm.io/gorm v1.25.2-0.20230530020048-26663ab9bf55/go.mod h1:L4uxeKpfBml98NYqVqwAdmV1a2nBtAec/cf3fpucW/k= | ||||
| gorm.io/gorm v1.25.5 h1:zR9lOiiYf09VNh5Q1gphfyia1JpiClIWG9hQaxB/mls= | ||||
| gorm.io/gorm v1.25.5/go.mod h1:hbnx/Oo0ChWMn1BIhpy1oYozzpM15i4YPuHDmfYtwg8= | ||||
| gorm.io/gorm v1.25.7-0.20240204074919-46816ad31dde/go.mod h1:hbnx/Oo0ChWMn1BIhpy1oYozzpM15i4YPuHDmfYtwg8= | ||||
| gorm.io/gorm v1.25.7 h1:VsD6acwRjz2zFxGO50gPO6AkNs7KKnvfzUjHQhZDz/A= | ||||
| gorm.io/gorm v1.25.7/go.mod h1:hbnx/Oo0ChWMn1BIhpy1oYozzpM15i4YPuHDmfYtwg8= | ||||
| gorm.io/gorm v1.25.9 h1:wct0gxZIELDk8+ZqF/MVnHLkA1rvYlBWUMv2EdsK1g8= | ||||
| gorm.io/gorm v1.25.9/go.mod h1:hbnx/Oo0ChWMn1BIhpy1oYozzpM15i4YPuHDmfYtwg8= | ||||
|  | ||||
| @ -20,15 +20,15 @@ func GenerateDao(sql string, packageName string, withGetTableNameFunc bool) (str | ||||
| 	if len(packageName) == 0 { | ||||
| 		packageName = "dao" | ||||
| 	} | ||||
| 	dataStruct, basic, err := ParseCreateTableSql(sql, withGetTableNameFunc) | ||||
| 	basic, err := ParseCreateTableSql(sql) | ||||
| 	if nil != err { | ||||
| 		return "", err | ||||
| 	} | ||||
| 	replaceTable := map[string]string{ | ||||
| 		"{PACKAGE}":          packageName, | ||||
| 		"{DATA_STRUCT_DAO}":  basic.ModelStruct + "Dao", | ||||
| 		"{DATA_STRUCT_DAO}":  basic.ModelStructName + "Dao", | ||||
| 		"{DATA_STRUCT_NAME}": basic.ModelStruct, | ||||
| 		"{DATA_STRUCT}":      dataStruct, | ||||
| 		"{DATA_STRUCT}":      basic.ModelStruct, | ||||
| 		"{DAO_RECEIVER}":     getDaoReceiver(basic.TableName), | ||||
| 		"{DB_TABLE_NAME}":    basic.TableName, | ||||
| 		"{PRIMARY_KEY}":      "ID", | ||||
|  | ||||
							
								
								
									
										142
									
								
								sql2go/parser.go
									
									
									
									
									
								
							
							
						
						
									
										142
									
								
								sql2go/parser.go
									
									
									
									
									
								
							| @ -18,6 +18,12 @@ import ( | ||||
| const ( | ||||
| 	// CreateSQLColumnTPL 每个字段的模版 | ||||
| 	CreateSQLColumnTPL = "    {FIELD} {TYPE} `json:\"{JSON_TAG}\" gorm:\"column:{COLUMN};default:{DEFAULT_VALUE};{NOT_NULL}\"` // {COMMENT}" | ||||
| 	// TableColumnTpl 每个字段的模版 | ||||
| 	TableColumnTpl = "    {FIELD} string `json:\"{JSON_TAG}\"`" | ||||
| 	// TableColumnDescTpl 字段描述 | ||||
| 	TableColumnDescTpl = "    {FIELD}: \"{JSON_TAG}\"`" | ||||
| 	// TableColumnCommentTpl 字段描述 | ||||
| 	TableColumnCommentTpl = "    \"{JSON_TAG}\": \"{FIELD_COMMENT}\"`" | ||||
| ) | ||||
|  | ||||
| // BasicTableInfo ... | ||||
| @ -26,10 +32,13 @@ const ( | ||||
| // | ||||
| // Date : 11:47 上午 2021/11/17 | ||||
| type BasicTableInfo struct { | ||||
| 	TableName        string | ||||
| 	ModelStruct      string | ||||
| 	PrimaryField     string | ||||
| 	PrimaryFieldType string | ||||
| 	TableName         string `json:"table_name"`          // 表名称 | ||||
| 	ModelStructName   string `json:"model_struct_name"`   // 生成的结构体名称 | ||||
| 	ModelStruct       string `json:"model_struct"`        // 生成的结构体内容 | ||||
| 	PrimaryField      string `json:"primary_field"`       // 主键字段 | ||||
| 	PrimaryFieldType  string `json:"primary_field_type"`  // 主键字段类型 | ||||
| 	ColumnDefined     string `json:"column_defined"`      // 字段定义 | ||||
| 	ColumnDescDefined string `json:"column_desc_defined"` // 字段描述定义 | ||||
| } | ||||
|  | ||||
| // ParseCreateTableSql 解析建表sql | ||||
| @ -37,32 +46,51 @@ type BasicTableInfo struct { | ||||
| // Author : go_developer@163.com<白茶清欢> | ||||
| // | ||||
| // Date : 4:49 下午 2021/10/25 | ||||
| func ParseCreateTableSql(sql string, withGetTableFunc bool) (string, *BasicTableInfo, error) { | ||||
| func ParseCreateTableSql(sql string) (*BasicTableInfo, error) { | ||||
| 	var ( | ||||
| 		stmt  sqlparser.Statement | ||||
| 		err   error | ||||
| 		basic *BasicTableInfo | ||||
| 	) | ||||
| 	basic = &BasicTableInfo{ | ||||
| 		TableName:        "", | ||||
| 		ModelStruct:      "", | ||||
| 		PrimaryField:     "ID", | ||||
| 		PrimaryFieldType: "", | ||||
| 		TableName:         "", | ||||
| 		ModelStructName:   "", | ||||
| 		ModelStruct:       "", | ||||
| 		PrimaryField:      "ID", | ||||
| 		PrimaryFieldType:  "", | ||||
| 		ColumnDefined:     "", | ||||
| 		ColumnDescDefined: "", | ||||
| 	} | ||||
| 	sql = strings.ReplaceAll(strings.ReplaceAll(sql, "CURRENT_TIMESTAMP()", "CURRENT_TIMESTAMP"), "current_timestamp()", "CURRENT_TIMESTAMP") | ||||
| 	if stmt, err = sqlparser.ParseStrictDDL(sql); nil != err { | ||||
| 		return "", nil, err | ||||
| 		return nil, err | ||||
| 	} | ||||
|  | ||||
| 	r, ok := stmt.(*sqlparser.DDL) | ||||
| 	if !ok { | ||||
| 		return "", nil, errors.New("input sql is not ddl") | ||||
| 		return nil, errors.New("input sql is not ddl") | ||||
| 	} | ||||
| 	basic.TableName = sqlparser.String(r.NewName) | ||||
| 	basic.ModelStruct = wrapperType.String(basic.TableName).SnakeCaseToCamel() | ||||
| 	structResult := "type " + basic.ModelStruct + " struct { \n" | ||||
| 	basic.ModelStructName = wrapperType.String(basic.TableName).SnakeCaseToCamel() | ||||
|  | ||||
| 	for _, item := range r.TableSpec.Columns { | ||||
| 	// 生成model sql | ||||
| 	basic.ModelStruct = generateTable(basic.TableName, basic.ModelStructName, r.TableSpec.Columns) | ||||
| 	// 生成表字段定义 | ||||
| 	columnDefined, _, getColumnFunc := generateTableColumnDefined(basic.ModelStructName, r.TableSpec.Columns) | ||||
| 	basic.ColumnDescDefined = columnDefined | ||||
| 	basic.ModelStruct += getColumnFunc | ||||
| 	return basic, nil | ||||
| } | ||||
|  | ||||
| // generateTable 生成表结构定义 | ||||
| // | ||||
| // Author : go_developer@163.com<白茶清欢> | ||||
| // | ||||
| // Date : 20:29 2024/4/14 | ||||
| func generateTable(tableName string, modelStructName string, columnList []*sqlparser.ColumnDefinition) string { | ||||
| 	structResult := "type " + modelStructName + " struct { \n" | ||||
|  | ||||
| 	for _, item := range columnList { | ||||
| 		comment := "" | ||||
| 		if item.Type.Comment == nil { | ||||
| 			comment = item.Name.String() | ||||
| @ -77,9 +105,9 @@ func ParseCreateTableSql(sql string, withGetTableFunc bool) (string, *BasicTable | ||||
| 			"{COMMENT}":       comment, | ||||
| 			"{TYPE}":          sqlTypeMap[item.Type.Type], | ||||
| 		} | ||||
| 		if data["{FIELD}"] == "ID" { | ||||
| 		/*if data["{FIELD}"] == "ID" { | ||||
| 			basic.PrimaryFieldType = data["{TYPE}"] | ||||
| 		} | ||||
| 		}*/ | ||||
| 		if item.Type.NotNull { | ||||
| 			data["{NOT_NULL}"] = "NOT NULL" | ||||
| 		} | ||||
| @ -93,25 +121,83 @@ func ParseCreateTableSql(sql string, withGetTableFunc bool) (string, *BasicTable | ||||
| 		structResult += val + "\n" | ||||
| 	} | ||||
| 	structResult = structResult + "}" | ||||
| 	if withGetTableFunc { | ||||
| 		// 生成表名称获取方法 | ||||
| 		tableFirst := string([]byte(basic.TableName)[:1]) | ||||
| 		funcTpl := ` | ||||
| 	// 生成表名称获取方法 | ||||
| 	tableFirst := string([]byte(tableName)[:1]) | ||||
| 	funcTpl := ` | ||||
|  | ||||
| // TableName 获取表名称 | ||||
| func ({{TABLE_FIRST}} {{TABLE_STRUCT_NAME}}) TableName() string { | ||||
| 	return "{{TABLE_NAME}}" | ||||
| }` | ||||
| 		replaceTable := map[string]string{ | ||||
| 			"{{TABLE_FIRST}}":       tableFirst, | ||||
| 			"{{TABLE_STRUCT_NAME}}": basic.ModelStruct, | ||||
| 			"{{TABLE_NAME}}":        basic.TableName, | ||||
| 	replaceTable := map[string]string{ | ||||
| 		"{{TABLE_FIRST}}":       tableFirst, | ||||
| 		"{{TABLE_STRUCT_NAME}}": modelStructName, | ||||
| 		"{{TABLE_NAME}}":        tableName, | ||||
| 	} | ||||
| 	for k, v := range replaceTable { | ||||
| 		funcTpl = strings.ReplaceAll(funcTpl, k, v) | ||||
| 	} | ||||
| 	structResult = structResult + funcTpl | ||||
| 	return structResult | ||||
| } | ||||
|  | ||||
| // generateTableColumnDefined 生成表结构定义 + 表结构初始化 | ||||
| // | ||||
| // Author : go_developer@163.com<白茶清欢> | ||||
| // | ||||
| // Date : 20:35 2024/4/14 | ||||
| func generateTableColumnDefined(modelStructName string, columnList []*sqlparser.ColumnDefinition) (string, string, string) { | ||||
| 	columnDefineName := modelStructName + "Column" | ||||
| 	structFieldResult := "type " + columnDefineName + " struct { \n" | ||||
| 	structFieldDescInstanceResult := "&" + columnDefineName + "{ \n" | ||||
| 	structFieldCommentInstanceResult := "map[string]string{ \n" | ||||
| 	for _, column := range columnList { | ||||
| 		dataMap := map[string]string{ | ||||
| 			"{FIELD}":    wrapperType.String(column.Name.String()).SnakeCaseToCamel(), | ||||
| 			"{JSON_TAG}": column.Name.String(), | ||||
| 			"{FIELD_COMMENT}": wrapperType.TernaryOperator.String( | ||||
| 				column.Type.Comment == nil, | ||||
| 				wrapperType.String(column.Name.String()), | ||||
| 				wrapperType.String(string(column.Type.Comment.Val)), | ||||
| 			).Value(), | ||||
| 		} | ||||
| 		for k, v := range replaceTable { | ||||
| 			funcTpl = strings.ReplaceAll(funcTpl, k, v) | ||||
|  | ||||
| 		structFieldDefine := TableColumnTpl | ||||
| 		structFieldDescDefine := TableColumnDescTpl | ||||
| 		structFieldCommentDefine := TableColumnCommentTpl | ||||
| 		for k, v := range dataMap { | ||||
| 			structFieldDefine = strings.ReplaceAll(structFieldDefine, k, v) | ||||
| 			structFieldDescDefine = strings.ReplaceAll(structFieldDescDefine, k, v) | ||||
| 			structFieldCommentDefine = strings.ReplaceAll(structFieldCommentDefine, k, v) | ||||
| 		} | ||||
| 		structResult = structResult + funcTpl | ||||
| 		structFieldResult += structFieldDefine + "\n" | ||||
| 		structFieldDescInstanceResult += structFieldDescDefine + ",\n" | ||||
| 		structFieldCommentInstanceResult += structFieldCommentDefine + ",\n" | ||||
| 	} | ||||
| 	structFieldResult += "}" | ||||
| 	structFieldDescInstanceResult += "}" | ||||
| 	structFieldCommentInstanceResult += "}" | ||||
| 	tableColumnFunction := ` | ||||
|  | ||||
| 	// Columns 获取表字段定义 | ||||
| 	func ({TABLE_FIRST} {MODEL_STRUCT_NAME}) Columns() *{COLUMN_DEFINED} { | ||||
| 		return {STRUCT_FIELD_DESC_DEFINED_RESULT} | ||||
| 	} | ||||
|  | ||||
| 	return structResult, basic, nil | ||||
| 	// ColumnComment 获取表字段描述 | ||||
| 	func ({TABLE_FIRST} {MODEL_STRUCT_NAME}) ColumnComment() map[string]string { | ||||
| 		return {STRUCT_FIELD_COMMENT_DEFINED_RESULT} | ||||
| 	} | ||||
| 	` | ||||
| 	dataMap := map[string]string{ | ||||
| 		"{COLUMN_DEFINED}":                      columnDefineName, | ||||
| 		"{TABLE_FIRST}":                         string([]byte(strings.ToLower(modelStructName))[:1]), | ||||
| 		"{MODEL_STRUCT_NAME}":                   modelStructName, | ||||
| 		"{STRUCT_FIELD_DESC_DEFINED_RESULT}":    structFieldDescInstanceResult, | ||||
| 		"{STRUCT_FIELD_COMMENT_DEFINED_RESULT}": structFieldCommentInstanceResult, | ||||
| 	} | ||||
| 	for k, v := range dataMap { | ||||
| 		tableColumnFunction = strings.ReplaceAll(tableColumnFunction, k, v) | ||||
| 	} | ||||
| 	return structFieldResult, structFieldDescInstanceResult, tableColumnFunction | ||||
| } | ||||
|  | ||||
| @ -14,10 +14,10 @@ import ( | ||||
|  | ||||
| func TestParseSql(t *testing.T) { | ||||
| 	sql := "CREATE TABLE `app` (\n  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',\n  `code` varchar(128) NOT NULL DEFAULT '' COMMENT '分配的app_code',\n  `secret` varchar(64) NOT NULL DEFAULT '' COMMENT '分配的私钥',\n  `status` int(10) unsigned NOT NULL DEFAULT 0 COMMENT '当前状态 o - 初始化 1- 使用中 2 - 禁用 3 - 删除',\n  `description` varchar(256) NOT NULL DEFAULT '' COMMENT '描述信息',\n  `apply_user_name` varchar(64) NOT NULL DEFAULT '' COMMENT '申请人姓名',\n  `apply_user_contact` varchar(128) NOT NULL DEFAULT '' COMMENT '申请人联系方式',\n  `create_user_id` varchar(128) NOT NULL DEFAULT '' COMMENT '创建人ID',\n  `modify_user_id` varchar(128) NOT NULL DEFAULT '' COMMENT '修改人ID',\n  PRIMARY KEY (`id`),\n  UNIQUE KEY `uniq_code` (`code`)\n) ENGINE=InnoDB AUTO_INCREMENT=100001 DEFAULT CHARSET=utf8mb4 COMMENT='APP信息表'" | ||||
| 	fmt.Println(ParseCreateTableSql(sql, true)) | ||||
| 	fmt.Println(ParseCreateTableSql(sql)) | ||||
| } | ||||
|  | ||||
| func TestParseSqlForNoComment(t *testing.T) { | ||||
| 	sql := "CREATE TABLE `app` (\n  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,\n  `code` varchar(128) NOT NULL DEFAULT '' COMMENT '分配的app_code',\n  `secret` varchar(64) NOT NULL DEFAULT '' COMMENT '分配的私钥',\n  `status` int(10) unsigned NOT NULL DEFAULT 0 COMMENT '当前状态 o - 初始化 1- 使用中 2 - 禁用 3 - 删除',\n  `description` varchar(256) NOT NULL DEFAULT '' COMMENT '描述信息',\n  `apply_user_name` varchar(64) NOT NULL DEFAULT '' COMMENT '申请人姓名',\n  `apply_user_contact` varchar(128) NOT NULL DEFAULT '' COMMENT '申请人联系方式',\n  `create_user_id` varchar(128) NOT NULL DEFAULT '' COMMENT '创建人ID',\n  `modify_user_id` varchar(128) NOT NULL DEFAULT '' COMMENT '修改人ID',\n  PRIMARY KEY (`id`),\n  UNIQUE KEY `uniq_code` (`code`)\n) ENGINE=InnoDB AUTO_INCREMENT=100001 DEFAULT CHARSET=utf8mb4 COMMENT='APP信息表'" | ||||
| 	fmt.Println(ParseCreateTableSql(sql, true)) | ||||
| 	fmt.Println(ParseCreateTableSql(sql)) | ||||
| } | ||||
|  | ||||
		Reference in New Issue
	
	Block a user