db-modeling-markdown 2.0.2 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (113) hide show
  1. package/README.md +168 -164
  2. package/dist/dialects/core/dbImportProvider.d.ts +5 -5
  3. package/dist/dialects/core/dbImportProvider.js +6 -6
  4. package/dist/dialects/core/dbProvider.d.ts +34 -34
  5. package/dist/dialects/core/dbProvider.js +119 -119
  6. package/dist/dialects/core/dbProvider.js.map +1 -1
  7. package/dist/dialects/core/dbUtils.d.ts +35 -35
  8. package/dist/dialects/core/dbUtils.js +157 -158
  9. package/dist/dialects/core/dbUtils.js.map +1 -1
  10. package/dist/dialects/core/providerFactory.d.ts +7 -7
  11. package/dist/dialects/core/providerFactory.js +63 -63
  12. package/dist/dialects/core/providerFactory.js.map +1 -1
  13. package/dist/dialects/db2/db2Provider.d.ts +19 -19
  14. package/dist/dialects/db2/db2Provider.js +185 -186
  15. package/dist/dialects/db2/db2Provider.js.map +1 -1
  16. package/dist/dialects/mariadb/mariaDbImportProvider.d.ts +19 -19
  17. package/dist/dialects/mariadb/mariaDbImportProvider.js +260 -260
  18. package/dist/dialects/mariadb/mariaDbImportProvider.js.map +1 -1
  19. package/dist/dialects/mariadb/mariaDbProvider.d.ts +18 -18
  20. package/dist/dialects/mariadb/mariaDbProvider.js +152 -153
  21. package/dist/dialects/mariadb/mariaDbProvider.js.map +1 -1
  22. package/dist/dialects/mariadb/mariaDbUtil.d.ts +6 -6
  23. package/dist/dialects/mariadb/mariaDbUtil.js +22 -22
  24. package/dist/dialects/mariadb/mariaDbUtil.js.map +1 -1
  25. package/dist/dialects/mssql/msSqlProvider.d.ts +21 -21
  26. package/dist/dialects/mssql/msSqlProvider.js +264 -265
  27. package/dist/dialects/mssql/msSqlProvider.js.map +1 -1
  28. package/dist/dialects/mysql/mySqlImportProvider.d.ts +3 -3
  29. package/dist/dialects/mysql/mySqlImportProvider.js +7 -7
  30. package/dist/dialects/mysql/mySqlProvider.d.ts +3 -3
  31. package/dist/dialects/mysql/mySqlProvider.js +7 -7
  32. package/dist/dialects/oracle/oracleProvider.d.ts +35 -35
  33. package/dist/dialects/oracle/oracleProvider.js +327 -327
  34. package/dist/dialects/oracle/oracleProvider.js.map +1 -1
  35. package/dist/dialects/postgresql/postgreSqlProvider.d.ts +19 -19
  36. package/dist/dialects/postgresql/postgreSqlProvider.js +172 -173
  37. package/dist/dialects/postgresql/postgreSqlProvider.js.map +1 -1
  38. package/dist/dialects/sqlite/sqliteSqlProvider.d.ts +23 -23
  39. package/dist/dialects/sqlite/sqliteSqlProvider.js +147 -148
  40. package/dist/dialects/sqlite/sqliteSqlProvider.js.map +1 -1
  41. package/dist/index.d.ts +10 -10
  42. package/dist/index.js +9 -9
  43. package/dist/lib/code-flow/codeFlow.d.ts +37 -37
  44. package/dist/lib/code-flow/codeFlow.js +61 -61
  45. package/dist/lib/markdown-object/markdownModel.d.ts +14 -14
  46. package/dist/lib/markdown-object/markdownModel.js +12 -12
  47. package/dist/lib/markdown-object/markdownModel.js.map +1 -1
  48. package/dist/lib/markdown-object/markdownReader.d.ts +39 -39
  49. package/dist/lib/markdown-object/markdownReader.js +261 -261
  50. package/dist/lib/markdown-object/markdownReader.js.map +1 -1
  51. package/dist/lib/markdown-object/markdownWriter.d.ts +36 -36
  52. package/dist/lib/markdown-object/markdownWriter.js +224 -224
  53. package/dist/lib/markdown-object/markdownWriter.js.map +1 -1
  54. package/dist/lib/markdown-object/readerContext.d.ts +12 -12
  55. package/dist/lib/markdown-object/readerContext.js +48 -48
  56. package/dist/lib/markdown-object/readerContext.js.map +1 -1
  57. package/dist/lib/utils/fileHelper.d.ts +14 -15
  58. package/dist/lib/utils/fileHelper.js +58 -57
  59. package/dist/lib/utils/fileHelper.js.map +1 -1
  60. package/dist/lib/utils/logger.d.ts +9 -9
  61. package/dist/lib/utils/logger.js +60 -60
  62. package/dist/lib/utils/logger.js.map +1 -1
  63. package/dist/lib/utils/markdownParser.d.ts +22 -22
  64. package/dist/lib/utils/markdownParser.js +99 -95
  65. package/dist/lib/utils/markdownParser.js.map +1 -1
  66. package/dist/lib/utils/sqlHelper.d.ts +3 -3
  67. package/dist/lib/utils/sqlHelper.js +23 -23
  68. package/dist/lib/utils/sqlHelper.js.map +1 -1
  69. package/dist/lib/utils/systemHelper.d.ts +2 -2
  70. package/dist/lib/utils/systemHelper.js +6 -6
  71. package/dist/lib/utils/textFileReader.d.ts +25 -25
  72. package/dist/lib/utils/textFileReader.js +57 -57
  73. package/dist/lib/utils/textFileReader.js.map +1 -1
  74. package/dist/lib/utils/textHelper.d.ts +21 -21
  75. package/dist/lib/utils/textHelper.js +75 -71
  76. package/dist/lib/utils/textHelper.js.map +1 -1
  77. package/dist/models/databaseTypes.d.ts +33 -33
  78. package/dist/models/databaseTypes.js +37 -37
  79. package/dist/models/databaseTypes.js.map +1 -1
  80. package/dist/models/dbColumn.d.ts +43 -43
  81. package/dist/models/dbColumn.js +2 -2
  82. package/dist/models/dbDiffModel.d.ts +43 -43
  83. package/dist/models/dbDiffModel.js +2 -2
  84. package/dist/models/dbForeignKey.d.ts +33 -33
  85. package/dist/models/dbForeignKey.js +2 -2
  86. package/dist/models/dbIndex.d.ts +28 -28
  87. package/dist/models/dbIndex.js +2 -2
  88. package/dist/models/dbIndexType.d.ts +8 -8
  89. package/dist/models/dbIndexType.js +12 -12
  90. package/dist/models/dbIndexType.js.map +1 -1
  91. package/dist/models/dbModel.d.ts +10 -10
  92. package/dist/models/dbModel.js +2 -2
  93. package/dist/models/dbPrimaryKey.d.ts +16 -16
  94. package/dist/models/dbPrimaryKey.js +2 -2
  95. package/dist/models/dbTable.d.ts +49 -49
  96. package/dist/models/dbTable.js +2 -2
  97. package/dist/models/dbTableMarkdown.d.ts +35 -35
  98. package/dist/models/dbTableMarkdown.js +2 -2
  99. package/dist/resources/mariadb/procAppUpgradeDB.sql +164 -164
  100. package/dist/resources/mariadb/sql-create-table-fk.njk +10 -10
  101. package/dist/resources/mariadb/sql-create-table.njk +11 -11
  102. package/dist/resources/mariadb/sql-create-tables.njk +8 -8
  103. package/dist/resources/mariadb/sql-upgrade-new-table.njk +14 -14
  104. package/dist/services/dbOptions.d.ts +35 -35
  105. package/dist/services/dbOptions.js +17 -17
  106. package/dist/services/dbmOptions.d.ts +28 -28
  107. package/dist/services/dbmOptions.js +34 -34
  108. package/dist/services/dbmService.d.ts +87 -87
  109. package/dist/services/dbmService.js +244 -244
  110. package/dist/services/dbmService.js.map +1 -1
  111. package/package.json +28 -34
  112. package/CHANGELOG.md +0 -81
  113. package/CONTRIBUTING.md +0 -85
@@ -1,261 +1,261 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MariaDbImportProvider = void 0;
4
- const dbImportProvider_1 = require("../core/dbImportProvider");
5
- const mariaDbUtil_1 = require("./mariaDbUtil");
6
- class MariaDbImportProvider extends dbImportProvider_1.DbImportProvider {
7
- constructor() {
8
- super();
9
- this.tableMap = new Map();
10
- }
11
- async getModel(dbOptions) {
12
- const conn = await mariaDbUtil_1.MariaDbUtil.getConnection(dbOptions);
13
- const model = { tables: [] };
14
- try {
15
- await this.getModelInternal(conn, model);
16
- }
17
- finally {
18
- conn.end();
19
- }
20
- return model;
21
- }
22
- async getModelInternal(conn, model) {
23
- await this.RenderColumn(conn, model);
24
- await this.RenderPKAndIndex(conn);
25
- await this.RenderForeignKey(conn);
26
- }
27
- createTable(name) {
28
- return { name, columns: [], foreignKeys: [], indexes: [] };
29
- }
30
- async RenderPKAndIndex(conn) {
31
- const sSQL = `SELECT S.TABLE_NAME
32
- , S.INDEX_NAME
33
- , S.SEQ_IN_INDEX
34
- , S.COLUMN_NAME
35
- , S.NON_UNIQUE
36
- , S.INDEX_TYPE
37
- , TC.CONSTRAINT_TYPE
38
- FROM information_schema.STATISTICS S
39
- LEFT JOIN information_schema.TABLE_CONSTRAINTS TC
40
- ON S.TABLE_SCHEMA = TC.TABLE_SCHEMA
41
- AND S.TABLE_NAME = TC.TABLE_NAME
42
- AND S.INDEX_NAME = TC.CONSTRAINT_NAME
43
- WHERE S.TABLE_SCHEMA = DATABASE()
44
- AND IFNULL(TC.CONSTRAINT_TYPE, '') != 'FOREIGN KEY'
45
- ORDER BY S.TABLE_NAME
46
- , S.INDEX_NAME
47
- , S.SEQ_IN_INDEX`;
48
- let curIndexName = '';
49
- let table;
50
- let index;
51
- const rows = await mariaDbUtil_1.MariaDbUtil.query(conn, sSQL);
52
- rows.forEach((row) => {
53
- table = this.tableMap.get(row.TABLE_NAME);
54
- if (row.CONSTRAINT_TYPE === 'PRIMARY KEY') {
55
- // Primary Key
56
- if (!table.primaryKey) {
57
- table.primaryKey = { columns: '' };
58
- }
59
- if (!table.primaryKey.columns) {
60
- table.primaryKey.columns = row.COLUMN_NAME;
61
- }
62
- else {
63
- table.primaryKey.columns += `, ${row.COLUMN_NAME}`;
64
- }
65
- // table!.primaryKey!.cluster = true
66
- }
67
- else {
68
- // Index
69
- if (curIndexName !== row.INDEX_NAME) {
70
- index = { name: row.INDEX_NAME, columns: '' };
71
- table?.indexes.push(index);
72
- // index.cluster = false
73
- index.unique = row.NON_UNIQUE === 0;
74
- curIndexName = row.INDEX_NAME;
75
- }
76
- index.type = row.INDEX_TYPE;
77
- if (!index.columns) {
78
- index.columns = row.COLUMN_NAME;
79
- }
80
- else {
81
- index.columns += `, ${row.COLUMN_NAME}`;
82
- }
83
- }
84
- });
85
- }
86
- async RenderForeignKey(conn) {
87
- const sSQL = `SELECT R.TABLE_NAME
88
- , R.CONSTRAINT_NAME
89
- , R.UPDATE_RULE
90
- , R.DELETE_RULE
91
- , R.REFERENCED_TABLE_NAME
92
- , K.COLUMN_NAME
93
- , K.ORDINAL_POSITION
94
- , K.POSITION_IN_UNIQUE_CONSTRAINT
95
- , K.REFERENCED_COLUMN_NAME
96
- FROM information_schema.REFERENTIAL_CONSTRAINTS R
97
- JOIN information_schema.KEY_COLUMN_USAGE K
98
- ON R.CONSTRAINT_SCHEMA = K.CONSTRAINT_SCHEMA
99
- AND R.TABLE_NAME = K.TABLE_NAME
100
- AND R.CONSTRAINT_NAME = K.CONSTRAINT_NAME
101
- WHERE R.CONSTRAINT_SCHEMA = DATABASE()
102
- ORDER BY R.TABLE_NAME
103
- , R.CONSTRAINT_NAME
104
- , K.ORDINAL_POSITION;`;
105
- let curFKName = '';
106
- let table;
107
- let foreignKey;
108
- const rows = await mariaDbUtil_1.MariaDbUtil.query(conn, sSQL);
109
- rows.forEach((row) => {
110
- if (curFKName !== row.CONSTRAINT_NAME) {
111
- table = this.tableMap.get(row.TABLE_NAME);
112
- foreignKey = {
113
- name: row.CONSTRAINT_NAME,
114
- columns: '',
115
- refTable: row.REFERENCED_TABLE_NAME,
116
- refColumns: '',
117
- options: '',
118
- };
119
- table.foreignKeys.push(foreignKey);
120
- if (row.DELETE_RULE !== 'RESTRICT') {
121
- foreignKey.options = `ON DELETE ${row.DELETE_RULE}`;
122
- }
123
- if (row.UPDATE_RULE !== 'RESTRICT') {
124
- if (foreignKey.options) {
125
- foreignKey.options += ' ';
126
- }
127
- foreignKey.options += `ON UPDATE ${row.UPDATE_RULE}`;
128
- }
129
- curFKName = row.CONSTRAINT_NAME;
130
- }
131
- if (foreignKey.columns) {
132
- foreignKey.columns += ', ';
133
- }
134
- foreignKey.columns += row.COLUMN_NAME;
135
- if (foreignKey.refColumns) {
136
- foreignKey.refColumns += ', ';
137
- }
138
- foreignKey.refColumns += row.REFERENCED_COLUMN_NAME;
139
- });
140
- }
141
- async RenderColumn(conn, model) {
142
- const sSQL = `SELECT C.TABLE_NAME
143
- , C.COLUMN_NAME
144
- , C.ORDINAL_POSITION
145
- , C.COLUMN_TYPE
146
- , C.COLUMN_DEFAULT
147
- , C.EXTRA
148
- , C.IS_NULLABLE
149
- , C.COLUMN_COMMENT
150
- , C.DATA_TYPE
151
- , C.CHARACTER_MAXIMUM_LENGTH
152
- , C.NUMERIC_PRECISION
153
- , C.NUMERIC_SCALE
154
- , C.CHARACTER_SET_NAME
155
- , C.COLLATION_NAME
156
- , T.TABLE_COMMENT
157
- , CCSA.CHARACTER_SET_NAME TABLE_CHARACTER_SET_NAME
158
- , T.TABLE_COLLATION
159
- , T.AUTO_INCREMENT
160
- , T.ENGINE
161
- FROM information_schema.COLUMNS C
162
- JOIN information_schema.TABLES T
163
- ON T.TABLE_SCHEMA = C.TABLE_SCHEMA
164
- AND T.TABLE_NAME = C.TABLE_NAME
165
- JOIN information_schema.COLLATION_CHARACTER_SET_APPLICABILITY CCSA
166
- ON CCSA.COLLATION_NAME = T.TABLE_COLLATION
167
- WHERE C.TABLE_SCHEMA = DATABASE()
168
- ORDER BY C.TABLE_NAME
169
- , C.ORDINAL_POSITION`;
170
- let prevTableName = '';
171
- let table;
172
- const rows = await mariaDbUtil_1.MariaDbUtil.query(conn, sSQL);
173
- rows.forEach((row) => {
174
- if (prevTableName !== row.TABLE_NAME) {
175
- // set Table
176
- prevTableName = row.TABLE_NAME;
177
- table = this.createTable(prevTableName);
178
- table.comment = row.TABLE_COMMENT;
179
- table.characterSet = row.TABLE_CHARACTER_SET_NAME;
180
- table.collation = row.TABLE_COLLATION;
181
- table.engine = row.ENGINE;
182
- model.tables.push(table);
183
- this.tableMap.set(prevTableName, table);
184
- }
185
- // set Column
186
- const column = {
187
- label: this.labelIt(row.COLUMN_NAME),
188
- name: row.COLUMN_NAME,
189
- type: this.GetColumnDataType(row.DATA_TYPE, row.COLUMN_TYPE, row.EXTRA, row.CHARACTER_SET_NAME === row.TABLE_CHARACTER_SET_NAME ? '' : row.CHARACTER_SET_NAME, row.COLLATION_NAME === row.TABLE_COLLATION ? '' : row.COLLATION_NAME),
190
- nullable: row.IS_NULLABLE === 'YES',
191
- };
192
- const vDefault = row.COLUMN_DEFAULT;
193
- if (!vDefault || vDefault === 'NULL') {
194
- column.default = '';
195
- }
196
- else if (this.IsText(row.DATA_TYPE)) {
197
- column.default = vDefault;
198
- }
199
- else {
200
- column.default = vDefault;
201
- }
202
- column.comment = row.COLUMN_COMMENT;
203
- table.columns.push(column);
204
- });
205
- }
206
- GetColumnDataType(dataType, columnType, extra, charSet, collation) {
207
- let retDataType = columnType;
208
- if (MariaDbImportProvider.DATA_TYPES_WITH_LENGTH.indexOf(dataType) === -1) {
209
- retDataType = columnType.replace(MariaDbImportProvider.REGEX_LEN_EXPR, '');
210
- }
211
- if (charSet) {
212
- retDataType = `${retDataType} CHARACTER SET ${charSet}`;
213
- }
214
- if (collation) {
215
- retDataType = `${retDataType} COLLATE ${collation}`;
216
- }
217
- if (extra) {
218
- retDataType = `${retDataType} ${extra}`;
219
- }
220
- return retDataType;
221
- }
222
- IsText(dataType) {
223
- let vIsText = false;
224
- const lowerDataType = dataType.toLowerCase();
225
- if (lowerDataType.indexOf('char') >= 0 || lowerDataType.indexOf('text') >= 0) {
226
- vIsText = true;
227
- }
228
- return vIsText;
229
- }
230
- labelIt(columnName) {
231
- let label = '';
232
- let preIsLower = false;
233
- for (let i = 0; i < columnName.length; i += 1) {
234
- const current = columnName.charAt(i);
235
- if (current === '_') {
236
- label += ` `;
237
- preIsLower = false;
238
- // eslint-disable-next-line no-continue
239
- continue;
240
- }
241
- if (current.toUpperCase() === current) {
242
- if (preIsLower) {
243
- label += ` ${current}`;
244
- }
245
- else {
246
- label += current;
247
- }
248
- preIsLower = false;
249
- }
250
- else {
251
- label += current;
252
- preIsLower = true;
253
- }
254
- }
255
- return label;
256
- }
257
- }
258
- exports.MariaDbImportProvider = MariaDbImportProvider;
259
- MariaDbImportProvider.DATA_TYPES_WITH_LENGTH = ['enum', 'char', 'varchar', 'decimal', 'binary', 'varbinary'];
260
- MariaDbImportProvider.REGEX_LEN_EXPR = /\([\s,\d]*\)/g;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MariaDbImportProvider = void 0;
4
+ const dbImportProvider_1 = require("../core/dbImportProvider");
5
+ const mariaDbUtil_1 = require("./mariaDbUtil");
6
+ class MariaDbImportProvider extends dbImportProvider_1.DbImportProvider {
7
+ constructor() {
8
+ super();
9
+ this.tableMap = new Map();
10
+ }
11
+ async getModel(dbOptions) {
12
+ const conn = await mariaDbUtil_1.MariaDbUtil.getConnection(dbOptions);
13
+ const model = { tables: [] };
14
+ try {
15
+ await this.getModelInternal(conn, model);
16
+ }
17
+ finally {
18
+ conn.end();
19
+ }
20
+ return model;
21
+ }
22
+ async getModelInternal(conn, model) {
23
+ await this.RenderColumn(conn, model);
24
+ await this.RenderPKAndIndex(conn);
25
+ await this.RenderForeignKey(conn);
26
+ }
27
+ createTable(name) {
28
+ return { name, columns: [], foreignKeys: [], indexes: [] };
29
+ }
30
+ async RenderPKAndIndex(conn) {
31
+ const sSQL = `SELECT S.TABLE_NAME
32
+ , S.INDEX_NAME
33
+ , S.SEQ_IN_INDEX
34
+ , S.COLUMN_NAME
35
+ , S.NON_UNIQUE
36
+ , S.INDEX_TYPE
37
+ , TC.CONSTRAINT_TYPE
38
+ FROM information_schema.STATISTICS S
39
+ LEFT JOIN information_schema.TABLE_CONSTRAINTS TC
40
+ ON S.TABLE_SCHEMA = TC.TABLE_SCHEMA
41
+ AND S.TABLE_NAME = TC.TABLE_NAME
42
+ AND S.INDEX_NAME = TC.CONSTRAINT_NAME
43
+ WHERE S.TABLE_SCHEMA = DATABASE()
44
+ AND IFNULL(TC.CONSTRAINT_TYPE, '') != 'FOREIGN KEY'
45
+ ORDER BY S.TABLE_NAME
46
+ , S.INDEX_NAME
47
+ , S.SEQ_IN_INDEX`;
48
+ let curIndexName = '';
49
+ let table;
50
+ let index;
51
+ const rows = await mariaDbUtil_1.MariaDbUtil.query(conn, sSQL);
52
+ rows.forEach((row) => {
53
+ table = this.tableMap.get(row.TABLE_NAME);
54
+ if (row.CONSTRAINT_TYPE === 'PRIMARY KEY') {
55
+ // Primary Key
56
+ if (!table.primaryKey) {
57
+ table.primaryKey = { columns: '' };
58
+ }
59
+ if (!table.primaryKey.columns) {
60
+ table.primaryKey.columns = row.COLUMN_NAME;
61
+ }
62
+ else {
63
+ table.primaryKey.columns += `, ${row.COLUMN_NAME}`;
64
+ }
65
+ // table!.primaryKey!.cluster = true
66
+ }
67
+ else {
68
+ // Index
69
+ if (curIndexName !== row.INDEX_NAME) {
70
+ index = { name: row.INDEX_NAME, columns: '' };
71
+ table?.indexes.push(index);
72
+ // index.cluster = false
73
+ index.unique = row.NON_UNIQUE === 0;
74
+ curIndexName = row.INDEX_NAME;
75
+ }
76
+ index.type = row.INDEX_TYPE;
77
+ if (!index.columns) {
78
+ index.columns = row.COLUMN_NAME;
79
+ }
80
+ else {
81
+ index.columns += `, ${row.COLUMN_NAME}`;
82
+ }
83
+ }
84
+ });
85
+ }
86
+ async RenderForeignKey(conn) {
87
+ const sSQL = `SELECT R.TABLE_NAME
88
+ , R.CONSTRAINT_NAME
89
+ , R.UPDATE_RULE
90
+ , R.DELETE_RULE
91
+ , R.REFERENCED_TABLE_NAME
92
+ , K.COLUMN_NAME
93
+ , K.ORDINAL_POSITION
94
+ , K.POSITION_IN_UNIQUE_CONSTRAINT
95
+ , K.REFERENCED_COLUMN_NAME
96
+ FROM information_schema.REFERENTIAL_CONSTRAINTS R
97
+ JOIN information_schema.KEY_COLUMN_USAGE K
98
+ ON R.CONSTRAINT_SCHEMA = K.CONSTRAINT_SCHEMA
99
+ AND R.TABLE_NAME = K.TABLE_NAME
100
+ AND R.CONSTRAINT_NAME = K.CONSTRAINT_NAME
101
+ WHERE R.CONSTRAINT_SCHEMA = DATABASE()
102
+ ORDER BY R.TABLE_NAME
103
+ , R.CONSTRAINT_NAME
104
+ , K.ORDINAL_POSITION;`;
105
+ let curFKName = '';
106
+ let table;
107
+ let foreignKey;
108
+ const rows = await mariaDbUtil_1.MariaDbUtil.query(conn, sSQL);
109
+ rows.forEach((row) => {
110
+ if (curFKName !== row.CONSTRAINT_NAME) {
111
+ table = this.tableMap.get(row.TABLE_NAME);
112
+ foreignKey = {
113
+ name: row.CONSTRAINT_NAME,
114
+ columns: '',
115
+ refTable: row.REFERENCED_TABLE_NAME,
116
+ refColumns: '',
117
+ options: '',
118
+ };
119
+ table.foreignKeys.push(foreignKey);
120
+ if (row.DELETE_RULE !== 'RESTRICT') {
121
+ foreignKey.options = `ON DELETE ${row.DELETE_RULE}`;
122
+ }
123
+ if (row.UPDATE_RULE !== 'RESTRICT') {
124
+ if (foreignKey.options) {
125
+ foreignKey.options += ' ';
126
+ }
127
+ foreignKey.options += `ON UPDATE ${row.UPDATE_RULE}`;
128
+ }
129
+ curFKName = row.CONSTRAINT_NAME;
130
+ }
131
+ if (foreignKey.columns) {
132
+ foreignKey.columns += ', ';
133
+ }
134
+ foreignKey.columns += row.COLUMN_NAME;
135
+ if (foreignKey.refColumns) {
136
+ foreignKey.refColumns += ', ';
137
+ }
138
+ foreignKey.refColumns += row.REFERENCED_COLUMN_NAME;
139
+ });
140
+ }
141
+ async RenderColumn(conn, model) {
142
+ const sSQL = `SELECT C.TABLE_NAME
143
+ , C.COLUMN_NAME
144
+ , C.ORDINAL_POSITION
145
+ , C.COLUMN_TYPE
146
+ , C.COLUMN_DEFAULT
147
+ , C.EXTRA
148
+ , C.IS_NULLABLE
149
+ , C.COLUMN_COMMENT
150
+ , C.DATA_TYPE
151
+ , C.CHARACTER_MAXIMUM_LENGTH
152
+ , C.NUMERIC_PRECISION
153
+ , C.NUMERIC_SCALE
154
+ , C.CHARACTER_SET_NAME
155
+ , C.COLLATION_NAME
156
+ , T.TABLE_COMMENT
157
+ , CCSA.CHARACTER_SET_NAME TABLE_CHARACTER_SET_NAME
158
+ , T.TABLE_COLLATION
159
+ , T.AUTO_INCREMENT
160
+ , T.ENGINE
161
+ FROM information_schema.COLUMNS C
162
+ JOIN information_schema.TABLES T
163
+ ON T.TABLE_SCHEMA = C.TABLE_SCHEMA
164
+ AND T.TABLE_NAME = C.TABLE_NAME
165
+ JOIN information_schema.COLLATION_CHARACTER_SET_APPLICABILITY CCSA
166
+ ON CCSA.COLLATION_NAME = T.TABLE_COLLATION
167
+ WHERE C.TABLE_SCHEMA = DATABASE()
168
+ ORDER BY C.TABLE_NAME
169
+ , C.ORDINAL_POSITION`;
170
+ let prevTableName = '';
171
+ let table;
172
+ const rows = await mariaDbUtil_1.MariaDbUtil.query(conn, sSQL);
173
+ rows.forEach((row) => {
174
+ if (prevTableName !== row.TABLE_NAME) {
175
+ // set Table
176
+ prevTableName = row.TABLE_NAME;
177
+ table = this.createTable(prevTableName);
178
+ table.comment = row.TABLE_COMMENT;
179
+ table.characterSet = row.TABLE_CHARACTER_SET_NAME;
180
+ table.collation = row.TABLE_COLLATION;
181
+ table.engine = row.ENGINE;
182
+ model.tables.push(table);
183
+ this.tableMap.set(prevTableName, table);
184
+ }
185
+ // set Column
186
+ const column = {
187
+ label: this.labelIt(row.COLUMN_NAME),
188
+ name: row.COLUMN_NAME,
189
+ type: this.GetColumnDataType(row.DATA_TYPE, row.COLUMN_TYPE, row.EXTRA, row.CHARACTER_SET_NAME === row.TABLE_CHARACTER_SET_NAME ? '' : row.CHARACTER_SET_NAME, row.COLLATION_NAME === row.TABLE_COLLATION ? '' : row.COLLATION_NAME),
190
+ nullable: row.IS_NULLABLE === 'YES',
191
+ };
192
+ const vDefault = row.COLUMN_DEFAULT;
193
+ if (!vDefault || vDefault === 'NULL') {
194
+ column.default = '';
195
+ }
196
+ else if (this.IsText(row.DATA_TYPE)) {
197
+ column.default = vDefault;
198
+ }
199
+ else {
200
+ column.default = vDefault;
201
+ }
202
+ column.comment = row.COLUMN_COMMENT;
203
+ table.columns.push(column);
204
+ });
205
+ }
206
+ GetColumnDataType(dataType, columnType, extra, charSet, collation) {
207
+ let retDataType = columnType;
208
+ if (MariaDbImportProvider.DATA_TYPES_WITH_LENGTH.indexOf(dataType) === -1) {
209
+ retDataType = columnType.replace(MariaDbImportProvider.REGEX_LEN_EXPR, '');
210
+ }
211
+ if (charSet) {
212
+ retDataType = `${retDataType} CHARACTER SET ${charSet}`;
213
+ }
214
+ if (collation) {
215
+ retDataType = `${retDataType} COLLATE ${collation}`;
216
+ }
217
+ if (extra) {
218
+ retDataType = `${retDataType} ${extra}`;
219
+ }
220
+ return retDataType;
221
+ }
222
+ IsText(dataType) {
223
+ let vIsText = false;
224
+ const lowerDataType = dataType.toLowerCase();
225
+ if (lowerDataType.indexOf('char') >= 0 || lowerDataType.indexOf('text') >= 0) {
226
+ vIsText = true;
227
+ }
228
+ return vIsText;
229
+ }
230
+ labelIt(columnName) {
231
+ let label = '';
232
+ let preIsLower = false;
233
+ for (let i = 0; i < columnName.length; i += 1) {
234
+ const current = columnName.charAt(i);
235
+ if (current === '_') {
236
+ label += ` `;
237
+ preIsLower = false;
238
+ // eslint-disable-next-line no-continue
239
+ continue;
240
+ }
241
+ if (current.toUpperCase() === current) {
242
+ if (preIsLower) {
243
+ label += ` ${current}`;
244
+ }
245
+ else {
246
+ label += current;
247
+ }
248
+ preIsLower = false;
249
+ }
250
+ else {
251
+ label += current;
252
+ preIsLower = true;
253
+ }
254
+ }
255
+ return label;
256
+ }
257
+ }
258
+ exports.MariaDbImportProvider = MariaDbImportProvider;
259
+ MariaDbImportProvider.DATA_TYPES_WITH_LENGTH = ['enum', 'char', 'varchar', 'decimal', 'binary', 'varbinary'];
260
+ MariaDbImportProvider.REGEX_LEN_EXPR = /\([\s,\d]*\)/g;
261
261
  //# sourceMappingURL=mariaDbImportProvider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mariaDbImportProvider.js","sourceRoot":"","sources":["../../../src/dialects/mariadb/mariaDbImportProvider.ts"],"names":[],"mappings":";;;AASA,+DAA2D;AAC3D,+CAA2C;AAE3C,MAAa,qBAAsB,SAAQ,mCAAgB;IAO1D;QACC,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,EAAmB,CAAA;IAC3C,CAAC;IAEM,KAAK,CAAC,QAAQ,CAAC,SAAoB;QACzC,MAAM,IAAI,GAAG,MAAM,yBAAW,CAAC,aAAa,CAAC,SAAS,CAAC,CAAA;QAEvD,MAAM,KAAK,GAAY,EAAE,MAAM,EAAE,EAAE,EAAE,CAAA;QACrC,IAAI;YACH,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;SACxC;gBAAS;YACT,IAAI,CAAC,GAAG,EAAE,CAAA;SACV;QAED,OAAO,KAAK,CAAA;IACb,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAAC,IAAgB,EAAE,KAAc;QAC9D,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;QACpC,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAA;QACjC,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAA;IAClC,CAAC;IAEO,WAAW,CAAC,IAAY;QAC/B,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAA;IAC3D,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAAC,IAAgB;QAC9C,MAAM,IAAI,GAAW;;;;;;;;;;;;;;;;yBAgBE,CAAA;QAEvB,IAAI,YAAY,GAAG,EAAE,CAAA;QACrB,IAAI,KAA0B,CAAA;QAC9B,IAAI,KAAc,CAAA;QAClB,MAAM,IAAI,GAAG,MAAM,yBAAW,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;QAChD,IAAI,CAAC,OAAO,CAAC,CAAC,GAAQ,EAAE,EAAE;YACzB,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;YACzC,IAAI,GAAG,CAAC,eAAe,KAAK,aAAa,EAAE;gBAC1C,eAAe;gBACf,IAAI,CAAC,KAAM,CAAC,UAAU,EAAE;oBACvB,KAAM,CAAC,UAAU,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,CAAA;iBACnC;gBACD,IAAI,CAAC,KAAM,CAAC,UAAW,CAAC,OAAO,EAAE;oBAChC,KAAM,CAAC,UAAW,CAAC,OAAO,GAAG,GAAG,CAAC,WAAW,CAAA;iBAC5C;qBAAM;oBACN,KAAM,CAAC,UAAW,CAAC,OAAO,IAAI,KAAK,GAAG,CAAC,WAAW,EAAE,CAAA;iBACpD;gBACD,oCAAoC;aACpC;iBAAM;gBACN,SAAS;gBACT,IAAI,YAAY,KAAK,GAAG,CAAC,UAAU,EAAE;oBACpC,KAAK,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,UAAU,EAAE,OAAO,EAAE,EAAE,EAAE,CAAA;oBAC7C,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;oBAE1B,wBAAwB;oBACxB,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC,UAAU,KAAK,CAAC,CAAA;oBAEnC,YAAY,GAAG,GAAG,CAAC,UAAU,CAAA;iBAC7B;gBAED,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC,UAAU,CAAA;gBAE3B,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;oBACnB,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC,WAAW,CAAA;iBAC/B;qBAAM;oBACN,KAAK,CAAC,OAAO,IAAI,KAAK,GAAG,CAAC,WAAW,EAAE,CAAA;iBACvC;aACD;QACF,CAAC,CAAC,CAAA;IACH,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAAC,IAAgB;QAC9C,MAAM,IAAI,GAAW;;;;;;;;;;;;;;;;;4BAiBK,CAAA;QAE1B,IAAI,SAAS,GAAG,EAAE,CAAA;QAClB,IAAI,KAA0B,CAAA;QAC9B,IAAI,UAAwB,CAAA;QAC5B,MAAM,IAAI,GAAG,MAAM,yBAAW,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;QAChD,IAAI,CAAC,OAAO,CAAC,CAAC,GAAQ,EAAE,EAAE;YACzB,IAAI,SAAS,KAAK,GAAG,CAAC,eAAe,EAAE;gBACtC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;gBACzC,UAAU,GAAG;oBACZ,IAAI,EAAE,GAAG,CAAC,eAAe;oBACzB,OAAO,EAAE,EAAE;oBACX,QAAQ,EAAE,GAAG,CAAC,qBAAqB;oBACnC,UAAU,EAAE,EAAE;oBACd,OAAO,EAAE,EAAE;iBACX,CAAA;gBACD,KAAM,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;gBAEnC,IAAI,GAAG,CAAC,WAAW,KAAK,UAAU,EAAE;oBACnC,UAAU,CAAC,OAAO,GAAG,aAAa,GAAG,CAAC,WAAW,EAAE,CAAA;iBACnD;gBACD,IAAI,GAAG,CAAC,WAAW,KAAK,UAAU,EAAE;oBACnC,IAAI,UAAU,CAAC,OAAO,EAAE;wBACvB,UAAU,CAAC,OAAO,IAAI,GAAG,CAAA;qBACzB;oBACD,UAAU,CAAC,OAAO,IAAI,aAAa,GAAG,CAAC,WAAW,EAAE,CAAA;iBACpD;gBAED,SAAS,GAAG,GAAG,CAAC,eAAe,CAAA;aAC/B;YAED,IAAI,UAAU,CAAC,OAAO,EAAE;gBACvB,UAAU,CAAC,OAAO,IAAI,IAAI,CAAA;aAC1B;YACD,UAAU,CAAC,OAAO,IAAI,GAAG,CAAC,WAAW,CAAA;YAErC,IAAI,UAAU,CAAC,UAAU,EAAE;gBAC1B,UAAU,CAAC,UAAU,IAAI,IAAI,CAAA;aAC7B;YACD,UAAU,CAAC,UAAU,IAAI,GAAG,CAAC,sBAAsB,CAAA;QACpD,CAAC,CAAC,CAAA;IACH,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,IAAgB,EAAE,KAAc;QAC1D,MAAM,IAAI,GAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;6BA2BM,CAAA;QAE3B,IAAI,aAAa,GAAG,EAAE,CAAA;QACtB,IAAI,KAAc,CAAA;QAClB,MAAM,IAAI,GAAG,MAAM,yBAAW,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;QAChD,IAAI,CAAC,OAAO,CAAC,CAAC,GAAQ,EAAE,EAAE;YACzB,IAAI,aAAa,KAAK,GAAG,CAAC,UAAU,EAAE;gBACrC,aAAa;gBACb,aAAa,GAAG,GAAG,CAAC,UAAU,CAAA;gBAC9B,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAA;gBACvC,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC,aAAa,CAAA;gBACjC,KAAK,CAAC,YAAY,GAAG,GAAG,CAAC,wBAAwB,CAAA;gBACjD,KAAK,CAAC,SAAS,GAAG,GAAG,CAAC,eAAe,CAAA;gBACrC,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAA;gBACzB,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;gBACxB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAa,EAAE,KAAK,CAAC,CAAA;aACvC;YAED,aAAa;YACb,MAAM,MAAM,GAAa;gBACxB,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;gBACpC,IAAI,EAAE,GAAG,CAAC,WAAW;gBACrB,IAAI,EAAE,IAAI,CAAC,iBAAiB,CAC3B,GAAG,CAAC,SAAS,EACb,GAAG,CAAC,WAAW,EACf,GAAG,CAAC,KAAK,EACT,GAAG,CAAC,kBAAkB,KAAK,GAAG,CAAC,wBAAwB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,kBAAkB,EACrF,GAAG,CAAC,cAAc,KAAK,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,cAAc,CACpE;gBACD,QAAQ,EAAE,GAAG,CAAC,WAAW,KAAK,KAAK;aACnC,CAAA;YAED,MAAM,QAAQ,GAAG,GAAG,CAAC,cAAc,CAAA;YACnC,IAAI,CAAC,QAAQ,IAAI,QAAQ,KAAK,MAAM,EAAE;gBACrC,MAAM,CAAC,OAAO,GAAG,EAAE,CAAA;aACnB;iBAAM,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;gBACtC,MAAM,CAAC,OAAO,GAAG,QAAQ,CAAA;aACzB;iBAAM;gBACN,MAAM,CAAC,OAAO,GAAG,QAAQ,CAAA;aACzB;YAED,MAAM,CAAC,OAAO,GAAG,GAAG,CAAC,cAAc,CAAA;YACnC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAC3B,CAAC,CAAC,CAAA;IACH,CAAC;IAEO,iBAAiB,CACxB,QAAgB,EAChB,UAAkB,EAClB,KAAa,EACb,OAAe,EACf,SAAiB;QAEjB,IAAI,WAAW,GAAW,UAAU,CAAA;QACpC,IAAI,qBAAqB,CAAC,sBAAsB,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE;YAC1E,WAAW,GAAG,UAAU,CAAC,OAAO,CAAC,qBAAqB,CAAC,cAAc,EAAE,EAAE,CAAC,CAAA;SAC1E;QACD,IAAI,OAAO,EAAE;YACZ,WAAW,GAAG,GAAG,WAAW,kBAAkB,OAAO,EAAE,CAAA;SACvD;QACD,IAAI,SAAS,EAAE;YACd,WAAW,GAAG,GAAG,WAAW,YAAY,SAAS,EAAE,CAAA;SACnD;QACD,IAAI,KAAK,EAAE;YACV,WAAW,GAAG,GAAG,WAAW,IAAI,KAAK,EAAE,CAAA;SACvC;QACD,OAAO,WAAW,CAAA;IACnB,CAAC;IAEO,MAAM,CAAC,QAAgB;QAC9B,IAAI,OAAO,GAAY,KAAK,CAAA;QAE5B,MAAM,aAAa,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAA;QAC5C,IAAI,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;YAC7E,OAAO,GAAG,IAAI,CAAA;SACd;QACD,OAAO,OAAO,CAAA;IACf,CAAC;IAEO,OAAO,CAAC,UAAkB;QACjC,IAAI,KAAK,GAAW,EAAE,CAAA;QACtB,IAAI,UAAU,GAAG,KAAK,CAAA;QACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;YAC9C,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;YACpC,IAAI,OAAO,KAAK,GAAG,EAAE;gBACpB,KAAK,IAAI,GAAG,CAAA;gBACZ,UAAU,GAAG,KAAK,CAAA;gBAClB,uCAAuC;gBACvC,SAAQ;aACR;YAED,IAAI,OAAO,CAAC,WAAW,EAAE,KAAK,OAAO,EAAE;gBACtC,IAAI,UAAU,EAAE;oBACf,KAAK,IAAI,IAAI,OAAO,EAAE,CAAA;iBACtB;qBAAM;oBACN,KAAK,IAAI,OAAO,CAAA;iBAChB;gBACD,UAAU,GAAG,KAAK,CAAA;aAClB;iBAAM;gBACN,KAAK,IAAI,OAAO,CAAA;gBAChB,UAAU,GAAG,IAAI,CAAA;aACjB;SACD;QAED,OAAO,KAAK,CAAA;IACb,CAAC;;AAhSF,sDAiSC;AA9RO,4CAAsB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAA;AAEtF,oCAAc,GAAG,eAAe,CAAA"}
1
+ {"version":3,"file":"mariaDbImportProvider.js","sourceRoot":"","sources":["../../../src/dialects/mariadb/mariaDbImportProvider.ts"],"names":[],"mappings":"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"}
@@ -1,18 +1,18 @@
1
- import { DbModel } from '../../models/dbModel';
2
- import { DbProvider } from '../core/dbProvider';
3
- export declare class MariaDbProvider extends DbProvider {
4
- getCreateTableIfNotExistsSql(model: DbModel): string;
5
- getCreateTableSql(model: DbModel, withComment: boolean): string;
6
- getDropTableSql(model: DbModel): string;
7
- getDropThenCreateTableSql(model: DbModel, withComment: boolean): string;
8
- getUpgradeSql(fromModel: DbModel, model: DbModel, withComment: boolean): string;
9
- static getEngine(): any;
10
- /**
11
- * get the different between models
12
- * @param fromModel the earlier version model
13
- * @param toModel the current version model
14
- * @returns
15
- */
16
- private getDifferent;
17
- private getOrCreateDiffTable;
18
- }
1
+ import { DbModel } from '../../models/dbModel';
2
+ import { DbProvider } from '../core/dbProvider';
3
+ export declare class MariaDbProvider extends DbProvider {
4
+ getCreateTableIfNotExistsSql(model: DbModel): string;
5
+ getCreateTableSql(model: DbModel, withComment: boolean): string;
6
+ getDropTableSql(model: DbModel): string;
7
+ getDropThenCreateTableSql(model: DbModel, withComment: boolean): string;
8
+ getUpgradeSql(fromModel: DbModel, model: DbModel, withComment: boolean): string;
9
+ static getEngine(): any;
10
+ /**
11
+ * get the different between models
12
+ * @param fromModel the earlier version model
13
+ * @param toModel the current version model
14
+ * @returns
15
+ */
16
+ private getDifferent;
17
+ private getOrCreateDiffTable;
18
+ }