我正在构建一个应用程序,其中我有一个本地数据库(mysql),但我还需要连接到另一个数据库,以便我可以从第二个数据库(oracle)中提取一些信息,有没有人有任何使用 Sails 的信息或示例管理多个数据库?
谢谢。
我正在构建一个应用程序,其中我有一个本地数据库(mysql),但我还需要连接到另一个数据库,以便我可以从第二个数据库(oracle)中提取一些信息,有没有人有任何使用 Sails 的信息或示例管理多个数据库?
谢谢。
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
您可以在sails 文档中了解更多如何配置数据库以进行适配器配置。
对于您的特定用例,目前还没有 Oracle 适配器。如果您有兴趣启动该项目,这里有一些文档和样板文件可以开始制作sails 适配器。当前可用的适配器列表可以在这里找到。
如果您询问的是 Sails.js 及其 Waterline ORM,那么 Oracle 似乎还没有可用的兼容适配器。 https://github.com/balderdashy/waterline