@diyaner/egg-typeorm 3.0.2 → 3.1.1
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/app/entity/pluginsEntity/UserEntity.js +23 -0
- package/index.d.ts +2 -2
- package/lib/connection.js +12 -6
- package/lib/loader.js +8 -3
- package/package.json +3 -2
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
const typeorm_1 = require("@ginreo/typeorm");
|
|
5
|
+
let UserEntity = class UserEntity {
|
|
6
|
+
};
|
|
7
|
+
tslib_1.__decorate([
|
|
8
|
+
(0, typeorm_1.PrimaryGeneratedColumn)(),
|
|
9
|
+
tslib_1.__metadata("design:type", Number)
|
|
10
|
+
], UserEntity.prototype, "id", void 0);
|
|
11
|
+
tslib_1.__decorate([
|
|
12
|
+
(0, typeorm_1.Column)({ nullable: true }),
|
|
13
|
+
tslib_1.__metadata("design:type", String)
|
|
14
|
+
], UserEntity.prototype, "abcd", void 0);
|
|
15
|
+
tslib_1.__decorate([
|
|
16
|
+
(0, typeorm_1.Column)(),
|
|
17
|
+
tslib_1.__metadata("design:type", Number)
|
|
18
|
+
], UserEntity.prototype, "userId", void 0);
|
|
19
|
+
UserEntity = tslib_1.__decorate([
|
|
20
|
+
(0, typeorm_1.Entity)("user_of_plugin_dir")
|
|
21
|
+
], UserEntity);
|
|
22
|
+
exports.default = UserEntity;
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVXNlckVudGl0eS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIlVzZXJFbnRpdHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkNBQStGO0FBR2hGLElBQU0sVUFBVSxHQUFoQixNQUFNLFVBQVU7Q0FTOUIsQ0FBQTtBQVBBO0lBREMsSUFBQSxnQ0FBc0IsR0FBRTs7c0NBQ2Q7QUFHWDtJQURDLElBQUEsZ0JBQU0sRUFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQzs7d0NBQ2Q7QUFHYjtJQURDLElBQUEsZ0JBQU0sR0FBRTs7MENBQ007QUFSSyxVQUFVO0lBRDlCLElBQUEsZ0JBQU0sRUFBQyxvQkFBb0IsQ0FBQztHQUNSLFVBQVUsQ0FTOUI7a0JBVG9CLFVBQVUifQ==
|
package/index.d.ts
CHANGED
|
@@ -18,8 +18,8 @@ declare module "egg" {
|
|
|
18
18
|
/** typeorm 已弃用name属性,暂时加上 */
|
|
19
19
|
type EggConfigTypeormDataSourceOptions = {
|
|
20
20
|
name?: string;
|
|
21
|
-
/** 实体类所在目录名 */
|
|
22
|
-
entityDir?: string;
|
|
21
|
+
/** 实体类所在目录名 支持多个目录,多个目录时需手动添加同名name属性的目录 */
|
|
22
|
+
entityDir?: string | string[];
|
|
23
23
|
} & typeorm.DataSourceOptions;
|
|
24
24
|
interface EggAppConfig {
|
|
25
25
|
/** typeorm 数据库连接配置 */
|
package/lib/connection.js
CHANGED
|
@@ -17,11 +17,17 @@ async function default_1(app) {
|
|
|
17
17
|
if (config.length > 1) {
|
|
18
18
|
// console.log("多个数据库配置");
|
|
19
19
|
config.forEach((item, index) => {
|
|
20
|
-
let
|
|
21
|
-
assert.ok(
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
20
|
+
let entityDirName1 = item.entityDir || item.name; // 取配置中的实体目录属性或name属性
|
|
21
|
+
assert.ok(entityDirName1, `Error, connection need a unique entityDir or name for relate entity dir. ${item.host}`);
|
|
22
|
+
const entityDirList = Array.isArray(entityDirName1) ? entityDirName1 : [entityDirName1];
|
|
23
|
+
const myEntities = [];
|
|
24
|
+
// 20260309 支持一个连接多个实体目录
|
|
25
|
+
entityDirList.forEach((entityDirName) => {
|
|
26
|
+
entityDirName = entityDirName.replace(/[._-]/gi, "").toUpperCase(); // 此处是为与loader中的目录名对应。(其目录名有转换,不实等真实名)
|
|
27
|
+
myEntities.push(...(entities.dirs[entityDirName] || []));
|
|
28
|
+
});
|
|
29
|
+
// @ts-ignore 每个连接使用自己的子目录实体
|
|
30
|
+
item.entities = myEntities;
|
|
25
31
|
// 第一个连接还需要加上首层的实体
|
|
26
32
|
if (index === 0) {
|
|
27
33
|
// @ts-ignore
|
|
@@ -77,4 +83,4 @@ async function createTypeORMDataSources(app, datasourcesConfig, entities) {
|
|
|
77
83
|
}
|
|
78
84
|
throw new Error(util.format(`[Egg-TypeORM] the DB %s %s %s init connection was failed after retry 3 times.`, datasourcesConfig.host, datasourcesConfig.port, datasourcesConfig.name));
|
|
79
85
|
}
|
|
80
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
86
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ubmVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImNvbm5lY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFXQSw0QkFtRUM7QUFFRCw0REErQ0M7QUE5SEQsNkJBQTZCO0FBRzdCLHFDQUF3QztBQUN4QyxpQ0FBaUM7QUFDakMsbURBQWdEO0FBQ2hEOzs7R0FHRztBQUNZLEtBQUssb0JBQVcsR0FBd0I7SUFDdEQsTUFBTSxRQUFRLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUM7SUFDckMsTUFBTSxNQUFNLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDO0lBRTlDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsNkRBQTZELENBQUMsQ0FBQztJQUU1RixJQUFJLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDdkIsMEJBQTBCO1FBQzFCLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUU7WUFDOUIsSUFBSSxjQUFjLEdBQUcsSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMscUJBQXFCO1lBRXZFLE1BQU0sQ0FBQyxFQUFFLENBQ1IsY0FBYyxFQUNkLDRFQUE2RSxJQUFZLENBQUMsSUFBSSxFQUFFLENBQ2hHLENBQUM7WUFDRixNQUFNLGFBQWEsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUM7WUFFeEYsTUFBTSxVQUFVLEdBQVUsRUFBRSxDQUFDO1lBQzdCLHdCQUF3QjtZQUN4QixhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsYUFBYSxFQUFFLEVBQUU7Z0JBQ3ZDLGFBQWEsR0FBRyxhQUFhLENBQUMsT0FBTyxDQUFDLFNBQVMs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
|
package/lib/loader.js
CHANGED
|
@@ -2,14 +2,19 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const path = require("path");
|
|
4
4
|
exports.default = async (app) => {
|
|
5
|
-
const dir = path.join(app.config.baseDir, "app/entity");
|
|
6
5
|
app.typeorm.entites = app.typeorm.entites || {
|
|
7
6
|
dirs: {},
|
|
8
7
|
all: [],
|
|
9
8
|
level1: [],
|
|
10
9
|
};
|
|
11
10
|
const entitys = app.typeorm.entites;
|
|
12
|
-
app.loader.
|
|
11
|
+
const units = app.loader.getLoadUnits();
|
|
12
|
+
// console.log(app.config.baseDir);
|
|
13
|
+
// console.log(units);
|
|
14
|
+
// const unitsDirs = path.join(app.config.baseDir, "app/entity");
|
|
15
|
+
const unitsDirs = units.map((u) => path.join(u.path, "app/entity"));
|
|
16
|
+
// todo 测试加载units下的实体
|
|
17
|
+
app.loader.loadToApp(unitsDirs, "entity", {
|
|
13
18
|
caseStyle: "upper",
|
|
14
19
|
// 要求加载的全部都是default export 类/函数
|
|
15
20
|
initializer(Clz, opt) {
|
|
@@ -36,4 +41,4 @@ exports.default = async (app) => {
|
|
|
36
41
|
},
|
|
37
42
|
});
|
|
38
43
|
};
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsibG9hZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQ0EsNkJBQTZCO0FBRTdCLGtCQUFlLEtBQUssRUFBRSxHQUF3QixFQUFFLEVBQUU7SUFDakQsR0FBRyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxPQUFPLElBQUk7UUFDNUMsSUFBSSxFQUFFLEVBQUU7UUFDUixHQUFHLEVBQUUsRUFBRTtRQUNQLE1BQU0sRUFBRSxFQUFFO0tBQ1YsQ0FBQztJQUNGLE1BQU0sT0FBTyxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDO0lBRXBDLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDeEMsbUNBQW1DO0lBQ25DLHNCQUFzQjtJQUV0QixpRUFBaUU7SUFDakUsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUM7SUFDcEUscUJBQXFCO0lBQ3JCLEdBQUcsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRSxRQUFRLEVBQUU7UUFDekMsU0FBUyxFQUFFLE9BQU87UUFDbEIsK0JBQStCO1FBQy9CLFdBQVcsQ0FBQyxHQUFHLEVBQUUsR0FBRztZQUNuQixhQUFhO1lBQ2IsR0FBRyxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7WUFDZCxvQkFBb0I7WUFDcEIsb0JBQW9CO1lBQ3BCLHlDQUF5QztZQUN6QyxNQUFNLFVBQVUsR0FBRyxHQUFHLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUMzQywyQkFBMkI7WUFFM0IsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDdEIsVUFBVTtZQUNWLElBQUksVUFBVSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDN0IsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDMUIsQ0FBQztpQkFBTSxJQUFJLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQ2xDLFlBQVk7Z0JBQ1osd0NBQXdDO2dCQUN4QyxNQUFNLE9BQU8sR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7Z0JBQzVDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ3BELE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ2pDLENBQUM7WUFFRCxPQUFPLEdBQUcsQ0FBQztRQUNaLENBQUM7S0FDRCxDQUFDLENBQUM7QUFDSixDQUFDLENBQUMifQ==
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@diyaner/egg-typeorm",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.1.1",
|
|
4
4
|
"description": "egg plugin for nodejs orm freamwork typeorm.",
|
|
5
5
|
"eggPlugin": {
|
|
6
6
|
"name": "typeorm"
|
|
@@ -43,7 +43,8 @@
|
|
|
43
43
|
"lint": "eslint .",
|
|
44
44
|
"ci": "egg-bin pkgfiles --check && npm run lint && npm run cov",
|
|
45
45
|
"pkgfiles": "egg-bin pkgfiles",
|
|
46
|
-
"autod": "autod"
|
|
46
|
+
"autod": "autod",
|
|
47
|
+
"ets": "ets"
|
|
47
48
|
},
|
|
48
49
|
"files": [
|
|
49
50
|
"app.js",
|