LoopbackJS 生成对应 Oracle 视图的model

本文介绍了一种方法,通过在StrongLoopArc工具中编写自定义脚本来发现Oracle数据库中的视图,并将其转换为LoopBack应用中的Model。此方法适用于那些无法直接通过工具发现的数据库视图。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

StrongLoop Arc 工具中的discover model 目前只能discover 表, Oracle数据库中的视图经测试并不能显示在列表中。

无奈之下,暂时只能采取替代方案。 

解决方法: 在server/boot/ 目录下建立一个script, 代码如下:

// addSchema.js

var fs = require('fs');

module.exports = function(app){
	var dataSource = app.datasources.local; // “local” 是我定义的dataSource
	var schemaName = "VIEW_BLOCKINFO"; // 数据库中的视图名称
	var filePath = "E:\\work\\APIPlatformProjectFile\\sourcecode\\DATA_EP_Project\\SourceCode\\api-server\\common\\models\\block-info.json"; // 要保存的文件路径

	dataSource.discoverSchema(schemaName, {owner: 'DEP'},function(err, schema) {
		if (err) throw err;
		schema.name = "BlockInfo";      // 自己定义的modelname
		schema.base = "PersistedModel"; // shema中不含有base属性,需要自己添加
		//console.log('schema:', schema);
		fs.writeFile(filePath,
			JSON.stringify(schema, null, 2), 'utf8', function (err) { // 格式化json输出,避免混成一坨.
			if (err) throw err;
			console.log('saved');
		});
	});

};

 

然后在common/models/ 目录下添加文件 "block-info.js"  

Oracle中视图对应的model就创建成功了。其他操作和普通的表对应的model是一样的。

此处有个点需要特别注意:

model的json文件和js文件的名称一定要相同,否则,在js文件里写的操作全都不会执行到, - -|| 相当于没有这个文件。

转载于:https://www.cnblogs.com/roadtodream/p/6226632.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值