@eggjs/dal-runtime 3.39.1 → 3.39.3
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.
- package/dist/index.d.ts +1 -0
- package/dist/index.js +2 -1
- package/dist/src/CodeGenerator.js +4 -1
- package/dist/src/DaoLoader.d.ts +4 -0
- package/dist/src/DaoLoader.js +17 -0
- package/dist/src/DatabaseForker.d.ts +1 -1
- package/dist/src/DatabaseForker.js +9 -19
- package/dist/src/SqlMapLoader.d.ts +3 -3
- package/dist/src/SqlMapLoader.js +10 -23
- package/dist/src/templates/base_dao.njk +18 -4
- package/package.json +4 -4
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -24,4 +24,5 @@ __exportStar(require("./src/DataSource"), exports);
|
|
|
24
24
|
__exportStar(require("./src/MySqlDataSource"), exports);
|
|
25
25
|
__exportStar(require("./src/TableModelInstanceBuilder"), exports);
|
|
26
26
|
__exportStar(require("./src/DatabaseForker"), exports);
|
|
27
|
-
|
|
27
|
+
__exportStar(require("./src/DaoLoader"), exports);
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHFEQUFtQztBQUNuQyxzREFBb0M7QUFDcEMsaURBQWdEO0FBQXZDLDBHQUFBLFdBQVcsT0FBQTtBQUNwQixxREFBbUM7QUFFbkMsbURBQWlDO0FBQ2pDLHdEQUFzQztBQUN0QyxrRUFBZ0Q7QUFDaEQsdURBQXFDO0FBQ3JDLGtEQUFnQyJ9
|
|
@@ -43,6 +43,9 @@ class CodeGenerator {
|
|
|
43
43
|
id: tableModel.columns.find(t => t.propertyName === 'id'),
|
|
44
44
|
primaryIndex: tableModel.getPrimary(),
|
|
45
45
|
tableModelPath: TemplateUtil_1.TemplateUtil.importPath(tableModelAbsolutePath, node_path_1.default.dirname(filePath)),
|
|
46
|
+
extensionPath: `../../extension/${tableModel.clazz.name}Extension`,
|
|
47
|
+
structurePath: `../../structure/${tableModel.clazz.name}.json`,
|
|
48
|
+
sqlPath: `../../structure/${tableModel.clazz.name}.sql`,
|
|
46
49
|
columnMap: tableModel.columns.reduce((p, c) => {
|
|
47
50
|
p[c.propertyName] = c;
|
|
48
51
|
return p;
|
|
@@ -139,4 +142,4 @@ class CodeGenerator {
|
|
|
139
142
|
}
|
|
140
143
|
}
|
|
141
144
|
exports.CodeGenerator = CodeGenerator;
|
|
142
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
145
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29kZUdlbmVyYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9Db2RlR2VuZXJhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLGdFQUFrQztBQUNsQywwREFBNkI7QUFDN0IsNkNBQTBDO0FBQzFDLG9EQUF1QjtBQUN2Qix3REFBc0Q7QUFDdEQsa0RBQThDO0FBRzlDLHNDQUE0QztBQUM1QyxpREFBOEM7QUFDOUMsaURBQThDO0FBRTlDLE1BQWEsYUFBYTtJQU14QixZQUFZLE9BQTZCO1FBQ3ZDLElBQUksQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQztRQUNuQyxJQUFJLENBQUMsVUFBVSxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUM7UUFDckMsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTyxJQUFJLGFBQWEsQ0FBQztRQUNoRCxJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLElBQUksaUJBQWlCLENBQUM7UUFDbEQsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUlELGlCQUFpQjtRQUNmLElBQUksQ0FBQyxNQUFNLEdBQUcsa0JBQVEsQ0FBQyxTQUFTLENBQUMsbUJBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLGFBQWEsQ0FBQyxFQUFFO1lBQ3BFLFVBQVUsRUFBRSxLQUFLO1NBQ2xCLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLGdCQUFDLENBQUMsVUFBVSxDQUFDLGdCQUFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM3RSxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxnQkFBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxD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
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DaoLoader = void 0;
|
|
4
|
+
const tegg_types_1 = require("@eggjs/tegg-types");
|
|
5
|
+
const dal_1 = require("@eggjs/tegg/dal");
|
|
6
|
+
const helper_1 = require("@eggjs/tegg/helper");
|
|
7
|
+
class DaoLoader {
|
|
8
|
+
static loadDaos(moduleDir) {
|
|
9
|
+
const loader = helper_1.LoaderFactory.createLoader(moduleDir, tegg_types_1.EggLoadUnitType.MODULE);
|
|
10
|
+
const clazzList = loader.load();
|
|
11
|
+
return clazzList.filter((t) => {
|
|
12
|
+
return dal_1.DaoInfoUtil.getIsDao(t);
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
exports.DaoLoader = DaoLoader;
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGFvTG9hZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL0Rhb0xvYWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxrREFBb0Q7QUFDcEQseUNBQThDO0FBRTlDLCtDQUFtRDtBQUVuRCxNQUFhLFNBQVM7SUFDcEIsTUFBTSxDQUFDLFFBQVEsQ0FBQyxTQUFpQjtRQUMvQixNQUFNLE1BQU0sR0FBRyxzQkFBYSxDQUFDLFlBQVksQ0FBQyxTQUFTLEVBQUUsNEJBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM3RSxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDaEMsT0FBTyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFvQixFQUFFO1lBQzlDLE9BQU8saUJBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDakMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUFSRCw4QkFRQyJ9
|
|
@@ -4,7 +4,7 @@ export declare class DatabaseForker {
|
|
|
4
4
|
private readonly options;
|
|
5
5
|
constructor(env: string, options: DataSourceOptions);
|
|
6
6
|
shouldFork(): boolean | undefined;
|
|
7
|
-
forkDb(
|
|
7
|
+
forkDb(moduleDir: string): Promise<void>;
|
|
8
8
|
private forkTables;
|
|
9
9
|
private doForkTable;
|
|
10
10
|
private doCreateUtDb;
|
|
@@ -4,10 +4,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.DatabaseForker = void 0;
|
|
7
|
-
const node_path_1 = __importDefault(require("node:path"));
|
|
8
|
-
const promises_1 = __importDefault(require("node:fs/promises"));
|
|
9
7
|
const node_assert_1 = __importDefault(require("node:assert"));
|
|
10
8
|
const rds_1 = require("@eggjs/rds");
|
|
9
|
+
const DaoLoader_1 = require("./DaoLoader");
|
|
11
10
|
class DatabaseForker {
|
|
12
11
|
constructor(env, options) {
|
|
13
12
|
this.env = env;
|
|
@@ -16,34 +15,25 @@ class DatabaseForker {
|
|
|
16
15
|
shouldFork() {
|
|
17
16
|
return this.env === 'unittest' && this.options.forkDb;
|
|
18
17
|
}
|
|
19
|
-
async forkDb(
|
|
18
|
+
async forkDb(moduleDir) {
|
|
20
19
|
(0, node_assert_1.default)(this.shouldFork(), 'fork db only run in unittest');
|
|
21
20
|
// 尽早判断不应该 fork,避免对 rds pool 配置造成污染
|
|
22
|
-
try {
|
|
23
|
-
await promises_1.default.access(dalDir);
|
|
24
|
-
}
|
|
25
|
-
catch (_) {
|
|
26
|
-
return;
|
|
27
|
-
}
|
|
28
21
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
29
22
|
const { name, initSql, forkDb, database, ...mysqlOptions } = this.options;
|
|
30
23
|
const client = new rds_1.RDSClient(Object.assign(mysqlOptions));
|
|
31
24
|
const conn = await client.getConnection();
|
|
32
25
|
await this.doCreateUtDb(conn);
|
|
33
|
-
await this.forkTables(conn,
|
|
26
|
+
await this.forkTables(conn, moduleDir);
|
|
34
27
|
conn.release();
|
|
35
28
|
await client.end();
|
|
36
29
|
}
|
|
37
|
-
async forkTables(conn,
|
|
38
|
-
const
|
|
39
|
-
const
|
|
40
|
-
|
|
41
|
-
for (const sqlFile of sqlFiles) {
|
|
42
|
-
await this.doForkTable(conn, node_path_1.default.join(sqlDir, sqlFile));
|
|
30
|
+
async forkTables(conn, moduleDir) {
|
|
31
|
+
const daoClazzList = DaoLoader_1.DaoLoader.loadDaos(moduleDir);
|
|
32
|
+
for (const clazz of daoClazzList) {
|
|
33
|
+
await this.doForkTable(conn, clazz.tableSql);
|
|
43
34
|
}
|
|
44
35
|
}
|
|
45
|
-
async doForkTable(conn,
|
|
46
|
-
const sqlFile = await promises_1.default.readFile(sqlFileName, 'utf8');
|
|
36
|
+
async doForkTable(conn, sqlFile) {
|
|
47
37
|
const sqls = sqlFile.split(';').filter(t => !!t.trim());
|
|
48
38
|
for (const sql of sqls) {
|
|
49
39
|
await conn.query(sql);
|
|
@@ -63,4 +53,4 @@ class DatabaseForker {
|
|
|
63
53
|
}
|
|
64
54
|
}
|
|
65
55
|
exports.DatabaseForker = DatabaseForker;
|
|
66
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF0YWJhc2VGb3JrZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvRGF0YWJhc2VGb3JrZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsOERBQWlDO0FBQ2pDLG9DQUF1QztBQUV2QywyQ0FBd0M7QUFFeEMsTUFBYSxjQUFjO0lBSXpCLFlBQVksR0FBVyxFQUFFLE9BQTBCO1FBQ2pELElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1FBQ2YsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7SUFDekIsQ0FBQztJQUVELFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQyxHQUFHLEtBQUssVUFBVSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO0lBQ3hELENBQUM7SUFFRCxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQWlCO1FBQzVCLElBQUEscUJBQU0sRUFBQyxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUUsOEJBQThCLENBQUMsQ0FBQztRQUMxRCxtQ0FBbUM7UUFDbkMsNkRBQTZEO1FBQzdELE1BQU0sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRyxZQUFZLEVBQUUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQzFFLE1BQU0sTUFBTSxHQUFHLElBQUksZUFBUyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztRQUMxRCxNQUFNLElBQUksR0FBRyxNQUFNLE1BQU0sQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUMxQyxNQUFNLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUIsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQztRQUN2QyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDZixNQUFNLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRU8sS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsU0FBaUI7UUFDOUMsTUFBTSxZQUFZLEdBQUcscUJBQVMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDbkQsS0FBSyxNQUFNLEtBQUssSUFBSSxZQUFZLEVBQUUsQ0FBQztZQUNqQyxNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMvQyxDQUFDO0lBQ0gsQ0FBQztJQUVPLEtBQUssQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLE9BQWU7UUFDN0MsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7UUFDeEQsS0FBSyxNQUFNLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUN2QixNQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDeEIsQ0FBQztJQUNILENBQUM7SUFFTyxLQUFLLENBQUMsWUFBWSxDQUFDLElBQUk7UUFDN0IsTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLGlDQUFpQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUM7UUFDNUUsTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRCxLQUFLLENBQUMsT0FBTztRQUNYLElBQUEscUJBQU0sRUFBQyxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUUsOEJBQThCLENBQUMsQ0FBQztRQUMxRCw2REFBNkQ7UUFDN0QsTUFBTSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxHQUFHLFlBQVksRUFBRSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDMUUsTUFBTSxNQUFNLEdBQUcsSUFBSSxlQUFTLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO1FBQzFELE1BQU0sTUFBTSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUNoRCxNQUFNLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUNyQixDQUFDO0NBQ0Y7QUFyREQsd0NBcURDIn0=
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { TableModel } from '@eggjs/tegg/dal';
|
|
1
|
+
import { BaseDaoType, TableModel } from '@eggjs/tegg/dal';
|
|
2
2
|
import type { Logger } from '@eggjs/tegg-types';
|
|
3
3
|
import { TableSqlMap } from './TableSqlMap';
|
|
4
4
|
export declare class SqlMapLoader {
|
|
5
5
|
private readonly logger;
|
|
6
6
|
private readonly tableModel;
|
|
7
|
-
private readonly
|
|
8
|
-
constructor(tableModel: TableModel,
|
|
7
|
+
private readonly clazzExtension;
|
|
8
|
+
constructor(tableModel: TableModel, baseDaoClazz: BaseDaoType, logger: Logger);
|
|
9
9
|
load(): TableSqlMap;
|
|
10
10
|
}
|
package/dist/src/SqlMapLoader.js
CHANGED
|
@@ -1,36 +1,23 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
3
|
exports.SqlMapLoader = void 0;
|
|
7
|
-
const node_path_1 = __importDefault(require("node:path"));
|
|
8
4
|
const BaseSqlMap_1 = require("./BaseSqlMap");
|
|
9
5
|
const TableSqlMap_1 = require("./TableSqlMap");
|
|
10
|
-
const helper_1 = require("@eggjs/tegg/helper");
|
|
11
6
|
class SqlMapLoader {
|
|
12
|
-
constructor(tableModel,
|
|
13
|
-
this.
|
|
7
|
+
constructor(tableModel, baseDaoClazz, logger) {
|
|
8
|
+
this.clazzExtension = baseDaoClazz.clazzExtension;
|
|
14
9
|
this.logger = logger;
|
|
15
10
|
this.tableModel = tableModel;
|
|
16
11
|
}
|
|
17
12
|
load() {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
...customSqlMap,
|
|
26
|
-
};
|
|
27
|
-
return new TableSqlMap_1.TableSqlMap(this.tableModel.clazz.name, sqlMap);
|
|
28
|
-
}
|
|
29
|
-
catch (e) {
|
|
30
|
-
e.message = `load sql map ${this.sqlMapPath} failed: ${e.message}`;
|
|
31
|
-
throw e;
|
|
32
|
-
}
|
|
13
|
+
const baseSqlMapGenerator = new BaseSqlMap_1.BaseSqlMapGenerator(this.tableModel, this.logger);
|
|
14
|
+
const baseSqlMap = baseSqlMapGenerator.load();
|
|
15
|
+
const sqlMap = {
|
|
16
|
+
...baseSqlMap,
|
|
17
|
+
...this.clazzExtension,
|
|
18
|
+
};
|
|
19
|
+
return new TableSqlMap_1.TableSqlMap(this.tableModel.clazz.name, sqlMap);
|
|
33
20
|
}
|
|
34
21
|
}
|
|
35
22
|
exports.SqlMapLoader = SqlMapLoader;
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3FsTWFwTG9hZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL1NxbE1hcExvYWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQSw2Q0FBbUQ7QUFDbkQsK0NBQTRDO0FBRTVDLE1BQWEsWUFBWTtJQUt2QixZQUFZLFVBQXNCLEVBQUUsWUFBeUIsRUFBRSxNQUFjO1FBQzNFLElBQUksQ0FBQyxjQUFjLEdBQUcsWUFBWSxDQUFDLGNBQWMsQ0FBQztRQUNsRCxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFBSTtRQUNGLE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxnQ0FBbUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNsRixNQUFNLFVBQVUsR0FBRyxtQkFBbUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUM5QyxNQUFNLE1BQU0sR0FBRztZQUNiLEdBQUcsVUFBVTtZQUNiLEdBQUcsSUFBSSxDQUFDLGNBQWM7U0FDdkIsQ0FBQztRQUNGLE9BQU8sSUFBSSx5QkFBVyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUM3RCxDQUFDO0NBQ0Y7QUFwQkQsb0NBb0JDIn0=
|
|
@@ -68,10 +68,18 @@ Optional<{{clazzName}},
|
|
|
68
68
|
>
|
|
69
69
|
{% endmacro %}
|
|
70
70
|
|
|
71
|
+
import fs from 'node:fs';
|
|
72
|
+
import path from 'node:path';
|
|
71
73
|
import type { InsertResult, UpdateResult, DeleteResult } from '{{dalPkg}}';
|
|
72
|
-
import {
|
|
74
|
+
import { Inject } from '{{teggPkg}}';
|
|
75
|
+
import { Dao } from '{{teggPkg}}/dal';
|
|
73
76
|
import { DataSource, DataSourceInjectName, DataSourceQualifier, ColumnTsType } from '{{dalPkg}}';
|
|
74
77
|
import { {{ clazzName }} } from '{{ tableModelPath }}';
|
|
78
|
+
import {{ clazzName }}Extension from '{{ extensionPath }}';
|
|
79
|
+
import Structure from '{{ structurePath }}';
|
|
80
|
+
|
|
81
|
+
const SQL = Symbol('Dao#sql');
|
|
82
|
+
|
|
75
83
|
// empty-line
|
|
76
84
|
type Optional<T, K extends keyof T> = Omit<T, K> & Partial<T>;
|
|
77
85
|
/**
|
|
@@ -80,11 +88,17 @@ type Optional<T, K extends keyof T> = Omit<T, K> & Partial<T>;
|
|
|
80
88
|
* @classdesc 该文件由 {{teggPkg}} 自动生成,请**不要**修改它!
|
|
81
89
|
*/
|
|
82
90
|
/* istanbul ignore next */
|
|
83
|
-
@
|
|
84
|
-
accessLevel: AccessLevel.PUBLIC,
|
|
85
|
-
})
|
|
91
|
+
@Dao()
|
|
86
92
|
export class Base{{ clazzName }}DAO {
|
|
87
93
|
static clazzModel = {{ clazzName }};
|
|
94
|
+
static clazzExtension = {{ clazzName }}Extension;
|
|
95
|
+
static tableStature = Structure;
|
|
96
|
+
static get tableSql() {
|
|
97
|
+
if (!this[SQL]) {
|
|
98
|
+
this[SQL] = fs.readFileSync(path.join(__dirname, '../../structure/{{clazzName}}.sql'), 'utf8');
|
|
99
|
+
}
|
|
100
|
+
return this[SQL];
|
|
101
|
+
}
|
|
88
102
|
|
|
89
103
|
@Inject({
|
|
90
104
|
name: DataSourceInjectName,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@eggjs/dal-runtime",
|
|
3
|
-
"version": "3.39.
|
|
3
|
+
"version": "3.39.3",
|
|
4
4
|
"description": "tegg dal decorator",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"egg",
|
|
@@ -40,8 +40,8 @@
|
|
|
40
40
|
},
|
|
41
41
|
"dependencies": {
|
|
42
42
|
"@eggjs/rds": "^1.0.0",
|
|
43
|
-
"@eggjs/tegg": "^3.39.
|
|
44
|
-
"@eggjs/tegg-types": "^3.39.
|
|
43
|
+
"@eggjs/tegg": "^3.39.3",
|
|
44
|
+
"@eggjs/tegg-types": "^3.39.3",
|
|
45
45
|
"js-beautify": "^1.15.1",
|
|
46
46
|
"lodash": "^4.17.21",
|
|
47
47
|
"nunjucks": "^3.2.4",
|
|
@@ -61,5 +61,5 @@
|
|
|
61
61
|
"ts-node": "^10.9.1",
|
|
62
62
|
"typescript": "^5.0.4"
|
|
63
63
|
},
|
|
64
|
-
"gitHead": "
|
|
64
|
+
"gitHead": "494bc106c18570882319a2c5716e73e7129e9b27"
|
|
65
65
|
}
|