File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -3,6 +3,9 @@ function ucFirst(val) {
33}
44
55function dbNameToCamelCase ( name ) {
6+ if ( name === undefined ) {
7+ return '' ;
8+ }
69 const row = [ ] ;
710 const re = name . split ( '_' ) ;
811 re . map ( ( val ) => {
@@ -82,25 +85,24 @@ function sqlToModel(data) {
8285 ${ importPackageStr }
8386)` ;
8487 }
85- const resultStr = `
86- package ${ packageName }
88+ const resultStr = `package ${ packageName }
8789${ importStr }
8890var New${ dbNameStr } ${ dbNameStr } Model
91+
8992type ${ dbNameStr } Model struct {
9093${ columsStr }
9194}
9295func (*${ dbNameStr } Model) TableName() string {
9396 return "${ dbName } "
9497}
9598` ;
96- console . log ( resultStr ) ;
9799 return resultStr ;
98100}
99101
100102// 解析sql表明等基础信息
101103function sqlStrToGoTemplate ( str ) {
102104 // CREATE TABLE `(.*)`\s\(([\d\D]*)\)\sENGINE=(.*)\sAUTO_INCREMENT=(\d+)\s(\w+)\sCHARSET=(\w+)\s(COLLATE=\w+)*
103- const regex = / C R E A T E T A B L E ` ( .* ) ` \s \( ( [ \d \D ] * ) \) \s E N G I N E = ( .* ) \s A U T O _ I N C R E M E N T = ( \d + ) \s ( \w + ) \s C H A R S E T = ( \w + ) \s ( C O L L A T E = \w + ) * / gm;
105+ const regex = / C R E A T E T A B L E ` ( .* ) ` \s \( ( [ \d \D ] * ) \) \s E N G I N E = ( .* ) \s ( A U T O _ I N C R E M E N T = ( . * ) \s ) * ( \w + ) \s C H A R S E T = ( \w + ) \s ( C O L L A T E = \w + ) * / gm;
104106 // `(.*)`\s(\w+[\((\d+)\)]*[\sunsigned\s]*)([NOT\s[NULL\s]*]*)(DEFAULT\s([\'](.*?)[\']|NULL)\s)*(AUTO_INCREMENT\s)*(COMMENT\s[\'](.*)[\'])*
105107 // const columnRegex = /`(.*)`\s(\w+[\((\d+)\)]*[\sunsigned\s]*)([NOT\s[NULL\s]*]*)(DEFAULT\s([\'](.*?)[\']|NULL)\s)*(AUTO_INCREMENT\s)*(COMMENT\s[\'](.*)[\'])*/gm;
106108 let m ;
@@ -150,6 +152,7 @@ function sqlStrColumnToEachColumn(data) {
150152 } ) ;
151153 } ) ;
152154 tableInfo . columns = columnData ;
155+ console . log ( tableInfo ) ;
153156 return sqlToModel ( tableInfo ) ;
154157}
155158
You can’t perform that action at this time.
0 commit comments