rdb-demo
Version:
ORM examples for npmjs.org/package/rdb
32 lines (26 loc) • 1.07 kB
JavaScript
let rdb = require('rdb');
let resetDemo = require('./db/resetDemo');
let Order = rdb.table('_compositeOrder');
let OrderLine = rdb.table('_compositeOrderLine');
Order.primaryColumn('oCompanyId').numeric().as('companyId');
Order.primaryColumn('oOrderNo').numeric().as('orderNo');
OrderLine.primaryColumn('lCompanyId').numeric().as('companyId');
OrderLine.primaryColumn('lOrderNo').numeric().as('orderNo');
OrderLine.primaryColumn('lLineNo').numeric().as('lineNo');
OrderLine.column('lProduct').string().as('product');
let line_order_relation = OrderLine.join(Order).by('lCompanyId', 'lOrderNo').as('order');
Order.hasMany(line_order_relation).as('lines');
let db = rdb('postgres://rdb:rdb@localhost/rdbdemo');
module.exports = async function() {
try {
await resetDemo();
await db.transaction(async () => {
let companyId = 1;
let orderId = 1001;
let order = await Order.getById(companyId, orderId);
console.log(await order.toDto());
});
} catch (e) {
console.log(e.stack);
}
}();