@eggjs/dal-runtime 4.0.0-beta.7 → 4.0.0-beta.9

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.
@@ -1,18 +1,15 @@
1
- import { TableModel } from "@eggjs/dal-decorator";
2
- import { GenerateSqlMap, Logger, SqlMap } from "@eggjs/tegg-types";
3
-
4
- //#region src/BaseSqlMap.d.ts
5
- declare class BaseSqlMapGenerator {
6
- private readonly tableModel;
7
- private readonly logger;
8
- constructor(tableModel: TableModel, logger: Logger);
9
- generateAllColumns(countIf: boolean): string;
10
- generateFindByPrimary(): Array<GenerateSqlMap>;
11
- generateFindByIndexes(): GenerateSqlMap[];
12
- generateInsert(): string;
13
- generateUpdate(): string;
14
- generateDelete(): string;
15
- load(): Record<string, SqlMap>;
1
+ import { TableModel } from '@eggjs/dal-decorator';
2
+ import { type SqlMap } from '@eggjs/tegg-types';
3
+ import type { Logger, GenerateSqlMap } from '@eggjs/tegg-types';
4
+ export declare class BaseSqlMapGenerator {
5
+ private readonly tableModel;
6
+ private readonly logger;
7
+ constructor(tableModel: TableModel, logger: Logger);
8
+ generateAllColumns(countIf: boolean): string;
9
+ generateFindByPrimary(): Array<GenerateSqlMap>;
10
+ generateFindByIndexes(): GenerateSqlMap[];
11
+ generateInsert(): string;
12
+ generateUpdate(): string;
13
+ generateDelete(): string;
14
+ load(): Record<string, SqlMap>;
16
15
  }
17
- //#endregion
18
- export { BaseSqlMapGenerator };
@@ -1,74 +1,89 @@
1
+ import _ from 'lodash';
2
+ import { TableModel } from '@eggjs/dal-decorator';
3
+ import { ColumnType, IndexType, SqlType } from '@eggjs/tegg-types';
1
4
  import { TemplateUtil } from "./TemplateUtil.js";
2
- import _ from "lodash";
3
- import { TableModel } from "@eggjs/dal-decorator";
4
- import { ColumnType, IndexType, SqlType } from "@eggjs/tegg-types";
5
-
6
- //#region src/BaseSqlMap.ts
7
- var BaseSqlMapGenerator = class {
8
- constructor(tableModel, logger) {
9
- this.tableModel = tableModel;
10
- this.logger = logger;
11
- }
12
- generateAllColumns(countIf) {
13
- const str = this.tableModel.columns.map((t) => `\`${t.columnName}\``).join(",");
14
- return countIf ? `{% if $$count == true %}0{% else %}${str}{% endif %}` : str;
15
- }
16
- generateFindByPrimary() {
17
- const result = [];
18
- const primary = this.tableModel.getPrimary();
19
- if (!primary) {
20
- this.logger.warn(`表 \`${this.tableModel.name}\` 没有主键,无法生成主键查询语句。`);
21
- return result;
22
- }
23
- let sql = `SELECT ${this.generateAllColumns(true)}
5
+ export class BaseSqlMapGenerator {
6
+ constructor(tableModel, logger) {
7
+ this.tableModel = tableModel;
8
+ this.logger = logger;
9
+ }
10
+ generateAllColumns(countIf) {
11
+ const str = this.tableModel.columns.map(t => `\`${t.columnName}\``)
12
+ .join(',');
13
+ return countIf ? `{% if $$count == true %}0{% else %}${str}{% endif %}` : str;
14
+ }
15
+ generateFindByPrimary() {
16
+ const result = [];
17
+ const primary = this.tableModel.getPrimary();
18
+ if (!primary) {
19
+ this.logger.warn(`表 \`${this.tableModel.name}\` 没有主键,无法生成主键查询语句。`);
20
+ return result;
21
+ }
22
+ let sql = `SELECT ${this.generateAllColumns(true)}
24
23
  FROM \`${this.tableModel.name}\`
25
24
  WHERE `;
26
- sql += primary.keys.map((indexKey) => `\`${indexKey.columnName}\` = {{$${indexKey.propertyName}}}`).join(" AND ");
27
- if (primary.keys.length === 1) result.push({
28
- type: SqlType.SELECT,
29
- name: `findBy${_.upperFirst(primary.keys[0].propertyName)}`,
30
- sql
31
- });
32
- result.push({
33
- name: "findByPrimary",
34
- type: SqlType.SELECT,
35
- sql
36
- });
37
- return result;
38
- }
39
- generateFindByIndexes() {
40
- const sqlMaps = [];
41
- for (const index of this.tableModel.indices) {
42
- if (index.type === IndexType.PRIMARY) continue;
43
- let sql = `SELECT ${this.generateAllColumns(true)}
25
+ sql += primary.keys.map(indexKey => `\`${indexKey.columnName}\` = {{$${indexKey.propertyName}}}`)
26
+ .join(' AND ');
27
+ if (primary.keys.length === 1) {
28
+ result.push({
29
+ type: SqlType.SELECT,
30
+ name: `findBy${_.upperFirst(primary.keys[0].propertyName)}`,
31
+ sql,
32
+ });
33
+ }
34
+ result.push({
35
+ name: 'findByPrimary',
36
+ type: SqlType.SELECT,
37
+ sql,
38
+ });
39
+ return result;
40
+ }
41
+ // TODO index 的左匹配
42
+ generateFindByIndexes() {
43
+ const sqlMaps = [];
44
+ for (const index of this.tableModel.indices) {
45
+ if (index.type === IndexType.PRIMARY)
46
+ continue;
47
+ let sql = `SELECT ${this.generateAllColumns(true)}
44
48
  FROM \`${this.tableModel.name}\`
45
49
  WHERE `;
46
- sql += index.keys.map((indexKey) => {
47
- return `\`${indexKey.columnName}\` {{ "IS" if $${indexKey.propertyName} == null else "=" }} {{$${indexKey.propertyName}}}`;
48
- }).join(" AND ");
49
- const tempName = _.upperFirst(_.camelCase(index.keys.length === 1 ? index.keys[0].propertyName : index.name));
50
- sqlMaps.push({
51
- name: `findBy${tempName}`,
52
- type: SqlType.SELECT,
53
- sql
54
- });
55
- sqlMaps.push({
56
- name: `findOneBy${tempName}`,
57
- type: SqlType.SELECT,
58
- sql: `${sql} LIMIT 0, 1`
59
- });
60
- }
61
- return sqlMaps;
62
- }
63
- generateInsert() {
64
- let sql = `INSERT INTO \`${this.tableModel.name}\` `;
65
- sql += "{% set ___first = true %}";
66
- const keys = [];
67
- const values = [];
68
- for (const column of this.tableModel.columns) {
69
- const { propertyName, columnName, type } = column;
70
- if (column.propertyName !== "gmtCreate" && column.propertyName !== "gmtModified") {
71
- keys.push(`
50
+ sql += index.keys.map(indexKey => {
51
+ const s = `\`${indexKey.columnName}\` {{ "IS" if $${indexKey.propertyName} == null else "=" }} {{$${indexKey.propertyName}}}`;
52
+ return s;
53
+ })
54
+ .join(' AND ');
55
+ const tempName = _.upperFirst(_.camelCase(index.keys.length === 1 ? index.keys[0].propertyName : index.name));
56
+ sqlMaps.push({
57
+ name: `findBy${tempName}`,
58
+ type: SqlType.SELECT,
59
+ sql,
60
+ });
61
+ sqlMaps.push({
62
+ name: `findOneBy${tempName}`,
63
+ type: SqlType.SELECT,
64
+ sql: `${sql} LIMIT 0, 1`,
65
+ });
66
+ }
67
+ return sqlMaps;
68
+ }
69
+ generateInsert() {
70
+ let sql = `INSERT INTO \`${this.tableModel.name}\` `;
71
+ sql += '{% set ___first = true %}';
72
+ const keys = [];
73
+ const values = [];
74
+ for (const column of this.tableModel.columns) {
75
+ const { propertyName, columnName, type } = column;
76
+ if (column.propertyName !== 'gmtCreate' && column.propertyName !== 'gmtModified') {
77
+ // Add filter for Spatial Type
78
+ // - toPoint
79
+ // - toLine
80
+ // - toPolygon
81
+ // - toGeometry
82
+ // - toMultiPoint
83
+ // - toMultiLine
84
+ // - toMultiPolygon
85
+ // - toGeometryCollection
86
+ keys.push((`
72
87
  {% if $${propertyName} !== undefined %}
73
88
  {% if ___first %}
74
89
  {% set ___first = false %}
@@ -78,10 +93,10 @@ var BaseSqlMapGenerator = class {
78
93
 
79
94
  \`${columnName}\`
80
95
  {% endif %}
81
- `.trim());
82
- if (TemplateUtil.isSpatialType(column)) {
83
- const filter = TemplateUtil.getSpatialFilter(column.type.type);
84
- values.push(`
96
+ `).trim());
97
+ if (TemplateUtil.isSpatialType(column)) {
98
+ const filter = TemplateUtil.getSpatialFilter(column.type.type);
99
+ values.push((`
85
100
  {% if $${propertyName} !== undefined %}
86
101
  {% if ___first %}
87
102
  {% set ___first = false %}
@@ -91,8 +106,10 @@ var BaseSqlMapGenerator = class {
91
106
 
92
107
  {{$${propertyName} | ${filter}}}
93
108
  {% endif %}
94
- `.trim());
95
- } else if (column.type.type === ColumnType.JSON) values.push(`
109
+ `).trim());
110
+ }
111
+ else if (column.type.type === ColumnType.JSON) {
112
+ values.push((`
96
113
  {% if $${propertyName} !== undefined %}
97
114
  {% if ___first %}
98
115
  {% set ___first = false %}
@@ -102,8 +119,10 @@ var BaseSqlMapGenerator = class {
102
119
 
103
120
  {{$${propertyName} | toJson}}
104
121
  {% endif %}
105
- `.trim());
106
- else values.push(`
122
+ `).trim());
123
+ }
124
+ else {
125
+ values.push((`
107
126
  {% if $${propertyName} !== undefined %}
108
127
  {% if ___first %}
109
128
  {% set ___first = false %}
@@ -113,14 +132,30 @@ var BaseSqlMapGenerator = class {
113
132
 
114
133
  {{$${propertyName}}}
115
134
  {% endif %}
116
- `.trim());
117
- } else {
118
- let now;
119
- if (type.type === ColumnType.INT) now = "UNIX_TIMESTAMP()";
120
- else if (type.type === ColumnType.BIGINT) now = "ROUND(UNIX_TIMESTAMP(CURTIME(4)) * 1000)";
121
- else if (type.type === ColumnType.DATETIME || type.type === ColumnType.TIMESTAMP) now = type.precision ? `NOW(${type.precision})` : "NOW()";
122
- else this.logger.warn(`unknown type ${type.type} for ${propertyName}`);
123
- keys.push(`
135
+ `).trim());
136
+ }
137
+ }
138
+ else {
139
+ let now;
140
+ // Default value for gmtCreate/gmtModified
141
+ // int:UNIX_TEIMESTAMP
142
+ // bigint: ROUND(UNIX_TIMESTAMP(CURTIME(4)) * 1000)
143
+ // datetime/timestamp Now()
144
+ if (type.type === ColumnType.INT) {
145
+ // 秒级时间戳
146
+ now = 'UNIX_TIMESTAMP()';
147
+ }
148
+ else if (type.type === ColumnType.BIGINT) {
149
+ // 毫秒级时间戳
150
+ now = 'ROUND(UNIX_TIMESTAMP(CURTIME(4)) * 1000)';
151
+ }
152
+ else if (type.type === ColumnType.DATETIME || type.type === ColumnType.TIMESTAMP) {
153
+ now = type.precision ? `NOW(${type.precision})` : 'NOW()';
154
+ }
155
+ else {
156
+ this.logger.warn(`unknown type ${type.type} for ${propertyName}`);
157
+ }
158
+ keys.push((`
124
159
  {% if ___first %}
125
160
  {% set ___first = false %}
126
161
  {% else %}
@@ -128,8 +163,8 @@ var BaseSqlMapGenerator = class {
128
163
  {% endif %}
129
164
 
130
165
  \`${columnName}\`
131
- `.trim());
132
- values.push(`
166
+ `).trim());
167
+ values.push((`
133
168
  {% if ___first %}
134
169
  {% set ___first = false %}
135
170
  {% else %}
@@ -137,30 +172,40 @@ var BaseSqlMapGenerator = class {
137
172
  {% endif %}
138
173
 
139
174
  {{ $${propertyName} if $${propertyName} !== undefined else '${now}' }}
140
- `.trim());
141
- }
142
- }
143
- sql += `(${keys.join("")})`;
144
- sql += "{% set ___first = true %}";
145
- sql += `VALUES(${values.join("")});`;
146
- return sql;
147
- }
148
- generateUpdate() {
149
- const primary = this.tableModel.getPrimary();
150
- if (!primary) {
151
- this.logger.warn(`表 \`${this.tableModel.name}\` 没有主键,无法生成主键更新语句。`);
152
- return;
153
- }
154
- let sql = `UPDATE \`${this.tableModel.name}\` SET`;
155
- sql += "{% set ___first = true %}";
156
- const kv = [];
157
- for (const column of this.tableModel.columns) {
158
- const { type, propertyName, columnName } = column;
159
- let now;
160
- if (type.type === ColumnType.INT) now = "UNIX_TIMESTAMP()";
161
- else if (type.type === ColumnType.BIGINT) now = "ROUND(UNIX_TIMESTAMP(CURTIME(4)) * 1000)";
162
- else if (type.type === ColumnType.TIMESTAMP || type.type === ColumnType.DATETIME) now = type.precision ? `NOW(${type.precision})` : "NOW()";
163
- const temp = propertyName !== "gmtModified" ? `
175
+ `).trim());
176
+ }
177
+ }
178
+ sql += `(${keys.join('')})`;
179
+ sql += '{% set ___first = true %}';
180
+ sql += `VALUES(${values.join('')});`;
181
+ return sql;
182
+ }
183
+ generateUpdate() {
184
+ const primary = this.tableModel.getPrimary();
185
+ if (!primary) {
186
+ this.logger.warn(`表 \`${this.tableModel.name}\` 没有主键,无法生成主键更新语句。`);
187
+ return;
188
+ }
189
+ let sql = `UPDATE \`${this.tableModel.name}\` SET`;
190
+ sql += '{% set ___first = true %}';
191
+ const kv = [];
192
+ for (const column of this.tableModel.columns) {
193
+ const { type, propertyName, columnName } = column;
194
+ let now;
195
+ if (type.type === ColumnType.INT) {
196
+ // 秒级时间戳
197
+ now = 'UNIX_TIMESTAMP()';
198
+ }
199
+ else if (type.type === ColumnType.BIGINT) {
200
+ // 毫秒级时间戳
201
+ now = 'ROUND(UNIX_TIMESTAMP(CURTIME(4)) * 1000)';
202
+ }
203
+ else if (type.type === ColumnType.TIMESTAMP || type.type === ColumnType.DATETIME) {
204
+ now = type.precision ? `NOW(${type.precision})` : 'NOW()';
205
+ }
206
+ // 若无更新时间字段,则自动更新该字段
207
+ const temp = propertyName !== 'gmtModified' ?
208
+ `
164
209
  {% if $${propertyName} !== undefined %}
165
210
  {% if ___first %}
166
211
  {% set ___first = false %}
@@ -170,7 +215,8 @@ var BaseSqlMapGenerator = class {
170
215
 
171
216
  \`${columnName}\` = {{$${propertyName}}}
172
217
  {% endif %}
173
- ` : `
218
+ ` :
219
+ `
174
220
  {% if ___first %}
175
221
  {% set ___first = false %}
176
222
  {% else %}
@@ -180,68 +226,79 @@ var BaseSqlMapGenerator = class {
180
226
  \`${columnName}\` =
181
227
  {{ $${propertyName} if $${propertyName} !== undefined else '${now}' }}
182
228
  `;
183
- kv.push(temp);
184
- }
185
- sql += kv.join("");
186
- sql += `WHERE ${primary.keys.map((indexKey) => `\`${indexKey.columnName}\` = {{primary.${indexKey.propertyName}}}`).join(" AND ")}`;
187
- return sql;
188
- }
189
- generateDelete() {
190
- const primary = this.tableModel.getPrimary();
191
- if (!primary) {
192
- this.logger.warn(`表 \`${this.tableModel.name}\` 没有主键,无法生成主键删除语句。`);
193
- return;
194
- }
195
- let sql = `DELETE
229
+ kv.push(temp);
230
+ }
231
+ sql += kv.join('');
232
+ sql += `WHERE ${primary.keys.map(indexKey => `\`${indexKey.columnName}\` = {{primary.${indexKey.propertyName}}}`)
233
+ .join(' AND ')}`;
234
+ return sql;
235
+ }
236
+ generateDelete() {
237
+ const primary = this.tableModel.getPrimary();
238
+ if (!primary) {
239
+ this.logger.warn(`表 \`${this.tableModel.name}\` 没有主键,无法生成主键删除语句。`);
240
+ return;
241
+ }
242
+ let sql = `DELETE
196
243
  FROM \`${this.tableModel.name}\`
197
244
  WHERE `;
198
- sql += primary.keys.map((indexKey) => `\`${indexKey.columnName}\` = {{${indexKey.propertyName}}}`).join(" AND ");
199
- return sql;
200
- }
201
- load() {
202
- const map = {};
203
- map.allColumns = {
204
- type: SqlType.BLOCK,
205
- content: this.generateAllColumns(false)
206
- };
207
- const sqlMaps = [
208
- ...this.generateFindByPrimary(),
209
- ...this.generateFindByIndexes(),
210
- (
211
- /**
212
- * 插入
213
- */
214
- {
215
- name: "insert",
216
- type: SqlType.INSERT,
217
- sql: this.generateInsert()
218
- }),
219
- (
220
- /**
221
- * 主键更新
222
- */
223
- {
224
- name: "update",
225
- type: SqlType.UPDATE,
226
- sql: this.generateUpdate()
227
- }),
228
- (
229
- /**
230
- * 主键删除
231
- */
232
- {
233
- name: "delete",
234
- type: SqlType.DELETE,
235
- sql: this.generateDelete()
236
- })
237
- ];
238
- for (const sqlMap of sqlMaps) map[sqlMap.name] = {
239
- type: sqlMap.type,
240
- sql: sqlMap.sql
241
- };
242
- return map;
243
- }
244
- };
245
-
246
- //#endregion
247
- export { BaseSqlMapGenerator };
245
+ sql += primary.keys.map(indexKey => `\`${indexKey.columnName}\` = {{${indexKey.propertyName}}}`)
246
+ .join(' AND ');
247
+ return sql;
248
+ }
249
+ load() {
250
+ const map = {};
251
+ map.allColumns = {
252
+ type: SqlType.BLOCK,
253
+ content: this.generateAllColumns(false),
254
+ };
255
+ const sqlMaps = [
256
+ /**
257
+ * 以主键进行索引
258
+ *
259
+ * + `findByPrimary`
260
+ * + 若为单主键,则再加 `findBy键名`
261
+ */
262
+ ...this.generateFindByPrimary(),
263
+ /**
264
+ * findBy 各索引
265
+ *
266
+ * + 若为多列索引,则为 `findBy索引名`
267
+ * + 若为单列索引,则为 `findBy列名`
268
+ */
269
+ ...this.generateFindByIndexes(),
270
+ /**
271
+ * 插入
272
+ */
273
+ {
274
+ name: 'insert',
275
+ type: SqlType.INSERT,
276
+ sql: this.generateInsert(),
277
+ },
278
+ /**
279
+ * 主键更新
280
+ */
281
+ {
282
+ name: 'update',
283
+ type: SqlType.UPDATE,
284
+ sql: this.generateUpdate(),
285
+ },
286
+ /**
287
+ * 主键删除
288
+ */
289
+ {
290
+ name: 'delete',
291
+ type: SqlType.DELETE,
292
+ sql: this.generateDelete(),
293
+ },
294
+ ];
295
+ for (const sqlMap of sqlMaps) {
296
+ map[sqlMap.name] = {
297
+ type: sqlMap.type,
298
+ sql: sqlMap.sql,
299
+ };
300
+ }
301
+ return map;
302
+ }
303
+ }
304
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQmFzZVNxbE1hcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9CYXNlU3FsTWFwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUN2QixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFlLE1BQU0sbUJBQW1CLENBQUM7QUFHaEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRWpELE1BQU0sT0FBTyxtQkFBbUI7SUFJOUIsWUFBWSxVQUFzQixFQUFFLE1BQWM7UUFDaEQsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7UUFDN0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7SUFDdkIsQ0FBQztJQUVELGtCQUFrQixDQUFDLE9BQWdCO1FBQ2pDLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLFVBQVUsSUFBSSxDQUFDO2FBQ2hFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNiLE9BQU8sT0FBTyxDQUFDLENBQUMsQ0FBQyxzQ0FBc0MsR0FBRyxhQUFhLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztJQUNoRixDQUFDO0lBRUQscUJBQXFCO1FBQ25CLE1BQU0sTUFBTSxHQUEwQixFQUFFLENBQUM7UUFDekMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUM3QyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDYixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxxQkFBcUIsQ0FBQyxDQUFDO1lBQ25FLE9BQU8sTUFBTSxD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
@@ -1,17 +1,14 @@
1
- import { TableModel } from "@eggjs/dal-decorator";
2
- import { CodeGeneratorOptions, Templates } from "@eggjs/tegg-types";
3
-
4
- //#region src/CodeGenerator.d.ts
5
- declare class CodeGenerator {
6
- private readonly moduleDir;
7
- private readonly moduleName;
8
- private readonly teggPkg;
9
- private readonly dalPkg;
10
- constructor(options: CodeGeneratorOptions);
11
- private njkEnv;
12
- createNunjucksEnv(): void;
13
- genCode(tplName: Templates, filePath: string, tableModel: TableModel): string;
14
- generate(tableModel: TableModel): Promise<void>;
1
+ import { Templates } from '@eggjs/tegg-types';
2
+ import type { CodeGeneratorOptions } from '@eggjs/tegg-types';
3
+ import { TableModel } from '@eggjs/dal-decorator';
4
+ export declare class CodeGenerator {
5
+ private readonly moduleDir;
6
+ private readonly moduleName;
7
+ private readonly teggPkg;
8
+ private readonly dalPkg;
9
+ constructor(options: CodeGeneratorOptions);
10
+ private njkEnv;
11
+ createNunjucksEnv(): void;
12
+ genCode(tplName: Templates, filePath: string, tableModel: TableModel): string;
13
+ generate(tableModel: TableModel): Promise<void>;
15
14
  }
16
- //#endregion
17
- export { CodeGenerator };