npm install koa-orm
Single database
const join = require('path').join;
const config = {
name: 'test',
modelPath: join(__dirname, 'models'),
database: 'orm_test',
username: 'root',
password: 'pass',
dialect: 'mysql',
host: '127.0.0.1',
port: 3306,
pool: {
max: 10,
min: 0,
idle: 30000
}
};
const orm = require('koa-orm')(config);
app.use(orm.middleware);
app.use(async function (ctx) {
const raws = await ctx.orm().sql.select().from('table');
// const raws = await ctx.orm('test').sql('table').select();
ctx.body = raws;
});
Multiple database
const join = require('path').join;
const configs = [{
name: 'user',
database: 'db_user',
username: 'root',
password: 'pass',
dialect: 'mysql',
host: '127.0.0.1',
port: 3306,
modelPath: join(__dirname, 'models/user')
}, {
name: 'product',
database: 'db_product',
username: 'root',
password: 'pass',
dialect: 'mysql',
host: '127.0.0.1',
port: 3306,
modelPath: join(__dirname, 'models/product')
}];
const orm = require('koa-orm')(configs);
app.use(orm.middleware);
app.use(async function (ctx) {
const { User } = ctx.orm('user');
const { Product } = ctx.orm('product');
const { userId } = ctx.params;
const user = await User.findByPk(userId);
const products = await Product.findAll({
where: { userId }
});
ctx.body = { user, products };
});
configs
: Multi database config array.
To use koa-orm
with koa@1, please use koa-orm 1.x.
npm install koa-orm@1 --save
MIT