young-orm
Version:
基于koa框架,封装typeorm从而进行快速开发
34 lines (33 loc) • 986 B
JavaScript
const { createConnection } = require("typeorm");
function loadOrm (config) {
config.entities = [];
const entityClassName = [];
//加载文件
require("require-all")({
dirname: config.filePath,
filter: /(.+)\.ts$/,
resolve: function (Service) {
for (let ServiceName in Service) {
config.entities.push(Service[ServiceName]);
entityClassName.push(ServiceName);
}
},
});
const connection = createConnection(config)
.then((connection) => {
entityClassName.forEach((e) => {
connection[e] = connection.getRepository(e);
console.log(`实体【${e}】加载成功,使用方法:this.ctx.orm.${e}`);
});
return connection;
})
.catch((err) => {
console.log(err);
});
return async function (ctx, next) {
if (!ctx.orm) ctx.orm = await connection;
await next();
};
};
const Base = require("./lib/base");
module.exports = { Base, loadOrm };