本页旨在提供一个最新的、全面的核心适配器列表,这些适配器可用于 Sails.js 框架,并参考一些最强大的社群适配器。
所有支持的适配器都可以大致相同的方式进行配置:传入一个 Sails/Waterline 适配器 (adapter
),以及一个连接 URL (url
)。有关配置数据存储的更多信息,请参阅 sails.config.datastores。
连接遇到问题?请务必检查您的连接 URL 是否有错字。如果仍然无法连接,请查看您的数据库提供商的文档,或寻求帮助。
以下核心适配器由 Sails.js 核心团队维护、测试和使用。
想要协助开发核心适配器吗?请先阅读Sails 项目贡献指南以开始。
数据库技术 | 适配器 | 连接 URL 结构 | 用于生产环境? |
---|---|---|---|
MySQL | require('sails-mysql') | mysql://user:password@host:port/database |
是 |
PostgreSQL | require('sails-postgresql') | postgresql://user:password@host:port/database |
是 |
MongoDB | require('sails-mongo') | mongodb://user:password@host:port/database |
是 |
本地磁盘 / 内存 | (内置,请参阅 sails-disk) | 不适用 | 否! |
MySQL 是世界上最受欢迎的关系型数据库。
npm install sails-mysql --save
adapter: 'sails-mysql',
url: 'mysql://user:password@host:port/database',
- MySQL 的默认端口是
3306
。- 如果您计划在数据中保存特殊字符(如表情符号),您可能需要为您的数据存储设置
charset
配置选项。要允许表情符号,请使用charset: 'utf8mb4'
。您可以使用模型属性中的columnType
设置来设置字符集。- 对于像 MySQL 和 PostgreSQL 这样的关系型数据库服务器,您可能需要首先使用像 SequelPro 这样的免费工具或在命令行上的 MySQL REPL 中创建一个“数据库”(如果您是经验丰富的 SQL 用户)。习惯上,会专门为您的应用程序创建一个数据库来使用。
- sails-mysql 适配器也 100% 兼容 Amazon Aurora 数据库。
如果您在 Sails 应用程序与 MySQL 交互时遇到“握手超时”错误,您可以使用 connectTimeout
选项来增加超时时间。这通常仅在查询与计算密集型操作(例如,在开发期间编译客户端 typescript 文件或运行 webpack)并行运行时才是必要的。
例如,您可以将超时时间延长至 20 秒
adapter: 'sails-mysql',
url: 'mysql://user:password@host:port/database',
connectTimeout: 20000
PostgreSQL 是一个具有强大功能的现代关系型数据库。
npm install sails-postgresql --save
adapter: 'sails-postgresql',
url: 'postgresql://user:password@host:port/database',
- PostgreSQL 的默认端口是
5432
。- 除了
adapter
和url
之外,您可能还需要设置ssl: true
。这取决于您的 PostgreSQL 数据库服务器的托管位置。例如,连接到 Heroku 托管的 PostgreSQL 服务时,需要ssl: true
。- 请注意,在
pg
版本 8.0 中,语法已更新为ssl: { rejectUnauthorized: false }
。- 与大多数 Postgres 版本兼容。请参阅此 issue 以了解更多关于与 Postgres >12 的兼容性。
MongoDB 是领先的 NoSQL 数据库。
npm install sails-mongo --save
adapter: 'sails-mongo',
url: 'mongodb://user:password@host:port/database',
- MongoDB 的默认端口是
27017
。- 如果您的 Mongo 部署在单独的数据库中跟踪其内部凭据,那么您可能需要通过在连接 URL 的末尾添加
?authSource=theotherdb
来命名该数据库。- 通过连接 URL 中的查询字符串提供的其他 Mongo 配置设置 将传递给底层的 Mongo 驱动程序。
写入到您电脑的硬盘或已挂载的网络驱动器。不适用于大规模生产部署,但非常适合小型项目,并且对于在您可能不总是设置数据库的环境中进行开发至关重要。此适配器与 Sails 捆绑在一起,开箱即用,无需配置。
您还可以以仅内存模式运行 sails-disk
。有关详细信息,请参见下面的设置表。
在每个 Sails 应用程序中开箱即可用。
默认情况下配置为默认数据库。
sails-disk
的可选数据存储设置设置 | 描述 | 类型 | 默认值 |
---|---|---|---|
dir |
用于存放数据库文件的目录。适配器为每个模型创建一个文件。 | .tmp/localDiskDb |
|
inMemoryOnly |
如果为 true ,则不会将数据库文件写入磁盘。相反,所有数据都将存储在内存中(并在应用程序停止运行时丢失)。 |
false |
- 您可以通过将设置添加到
config/datastores.js
中的default
数据存储来配置默认的sails-disk
适配器。
您的数据库不受核心适配器之一支持?好消息!NPM 上有许多不同的 Sails.js 和 Waterline 社群数据库适配器可用。
以下是一些亮点
数据库技术 | 适配器 | 维护者 | 实现的接口 | 稳定版本 |
---|---|---|---|---|
Redis | sails-redis | Ryan Clough / Solnet Solutions | 语义, 可查询 | |
MS SQL Server | sails-MSSQLserver | misterGF | 语义, 可查询 | |
OrientDB | sails-orientDB | appscot | 语义, 可查询, 关联, 可迁移 | |
Oracle | sails-oracleDB | atiertant | 语义, 可查询 | |
Oracle (AnyPresence) | waterline-oracle-adapter | AnyPresence | 语义, 可查询 | |
Oracle (存储过程) | sails-oracle-SP | Buto 和 nethoncho | 语义, 可查询 | |
SAP HANA DB | sails-HANA | Enrico Battistella | 语义, 可查询 | |
SAP HANA (AnyPresence) | waterline-SAP-HANA-adapter | AnyPresence | 语义, 可查询 | |
IBM DB2 | sails-DB2 | ibuildings Italia & Vincenzo Ferrari | 语义, 可查询 | |
ServiceNow SOAP | waterline-ServiceNow-SOAP | Sungard Availability Services | 语义, 可查询 | |
Cassandra | sails-cassandra | dtoubelis | 语义, 可迁移, 可迭代 | |
Solr | sails-solr | sajov | 语义, 可迁移, 可查询 | |
FileMaker 数据库 | sails-FileMaker | Geist Interactive | 语义 | |
Apache Derby | sails-derby | dash- | 语义, 可查询, 关联, SQL | |
REST API (通用) | sails-REST | zohararad | 语义 |
如果您在此页面上看到过时的信息,或者您想添加您制作的适配器,请提交拉取请求到此文件,更新上面的社群适配器表。
请注意,要在此页面上列出,适配器必须
url
(如果适用)。如果您发现上述任何社群适配器不符合这些约定(即,对于 NPM 上发布的最新稳定版本,而不是 GitHub 上的代码),请联系适配器的维护者。如果您无法联系到他们或需要进一步的帮助,请联系 Sails 核心团队的成员。