我正在构建一个应用程序,我有一个本地数据库(mysql),但我需要连接到另一个数据库,所以我可以从第二个数据库(oracle)中提取一些信息,是否有人有任何信息或示例使用Sails管理多个数据库?
感谢。
答案 0 :(得分:12)
Sails使用Waterline作为其ORM,而Waterline具有允许使用多个数据存储的适配器概念。对于您创建的每个模型,您可以定义适配器属性。例如,如果您想创建一个使用mysql作为其数据存储区的用户模型,它看起来就像这样。
在api / models / User.js
中module.exports = {
adapter: 'mysql',
attributes: {
name: 'string',
email: 'string',
phoneNumber: {
type: 'string',
defaultsTo: '555-555-5555'
}
}
};
然后,您还可以将其他模型(例如 Office )与其他数据存储(例如mongoDB)关联。
在api / models / Office.js
module.exports = {
adapter: 'mongo',
attributes: {
address: 'string',
city: 'string',
state: 'string'
}
};
您唯一需要确保的是,您已在项目中安装了 sails-mysql 和 sails-mongo 适配器并对其进行了配置。您可以使用npm安装适配器。
npm install sails-mysql sails-mongo --save
您可以在adapter configuration的风帆文档中找到更多如何配置数据库的信息。
对于您的特定用例,目前没有Oracle适配器。如果您有兴趣启动该项目,这里有一些docs和boilerplate开始制作风帆适配器。可以找到当前可用适配器的列表here。
答案 1 :(得分:2)
如果你问的是Sails.js及其Waterline ORM,那么Oracle似乎还没有兼容的适配器。 https://github.com/balderdashy/waterline