このページは、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アダプターは、Amazon Auroraデータベースとも100%互換性があります。
SailsアプリケーションがMySQLと対話するときに「ハンドシェイク非アクティブタイムアウト」エラーが発生する場合は、connectTimeout
オプションを使用してタイムアウトを延長できます。これは、クエリが計算量の多い操作(たとえば、開発中のクライアント側typescriptファイルのコンパイルやwebpackの実行)と並行して実行されている場合に通常必要なだけです。
たとえば、タイムアウトを20秒に延長することができます。
adapter: 'sails-mysql',
url: 'mysql://user:password@host:port/database',
connectTimeout: 20000
PostgreSQLは、強力な機能を備えた最新の relational database です。
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 のほとんどのバージョンと互換性があります。Postgres >12 との互換性の詳細については、この issue を参照してください。
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 |
データベースファイルを配置するディレクトリ。アダプターはモデルごとに 1 つのファイルを作成します。 | .tmp/localDiskDb |
|
inMemoryOnly |
true の場合、データベースファイルはディスクに書き込まれません。代わりに、すべてのデータはメモリに保存されます(アプリの実行が停止すると失われます)。 |
false |
config/datastores.js
のdefault
データストアに設定を追加することで、デフォルトのsails-disk
アダプターを設定できます。
お使いのデータベースがコアアダプターでサポートされていませんか?朗報です!Sails.js と Waterline 用のさまざまなコミュニティデータベースアダプターが NPM で入手可能 です。
主なものを以下に示します
データベース技術 | アダプター | メンテナー | 実装されたインターフェース | 安定版リリース |
---|---|---|---|---|
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 | Semantic, Migratable, Iterable | |
Solr | sails-solr | sajov | セマンティック、移行可能、クエリ可能 | |
FileMaker Database | sails-FileMaker | Geist Interactive | セマンティック | |
Apache Derby | sails-derby | dash- | セマンティック、クエリ可能、関連付け、SQL | |
REST API (汎用) | sails-REST | zohararad | セマンティック |
このページの情報が古くなっている場合、または作成したアダプターを追加する場合は、このファイルにプルリクエストを送信して、上記のコミュニティアダプターの表を更新してください。
このページにリストするには、アダプターは以下の条件を満たしている必要があります.
url
として設定をサポートすること。上記のコミュニティアダプターのいずれかに対してこれらの規則が当てはまらない場合(つまり、NPM で公開されている最新の安定版リリースの場合、GitHub のコードではない場合)、アダプターのメンテナーに連絡してください。連絡が取れない場合、またはさらにサポートが必要な場合は、Sails コアチームのメンバーにご連絡ください。