UNPKG

young-orm

Version:

基于koa框架,封装typeorm从而进行快速开发

34 lines (33 loc) 986 B
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 };