Sails と Waterline では、データベース アダプター(省略して単に「アダプター」と呼ばれることが多いです)を使用すると、Sails アプリのモデルをデータベースと通信させることができます。言い換えれば、コントローラー アクションまたはヘルパーのコードで User.find()
のようなモデルメソッドを呼び出す場合、その後の処理は 構成されたアダプターによって決まります。
アダプターはメソッド(find
や create
など)を備えた辞書(JavaScript オブジェクト({}
のような))として定義されます。アダプターは、実装するメソッドと、それらのメソッドが実装される完全性に基づいて、1 つ以上のインターフェース レイヤーを実装すると言われます。各インターフェース レイヤーは特定の機能を実装する契約を意味します。これにより、Sails と Waterline は、複数のモデル、開発者、アプリ、さらには企業間で一般的な使用パターンを保証し、アプリのコードをより保守しやすく、効率的かつ信頼性の高いものにすることができます。
以前のバージョンの Sails では、アダプターは、特定の種類の RESTful Web API、内部/独自 Web サービス、さらにはハードウェアとの通信など、他の目的で使用されることもありました。しかし、真に RESTful API は非常にまれであるため、ほとんどの場合、データベース アダプターを作成して非データベース API に統合することは制限があります。幸いにも、今では より簡単な方法でこのような統合を構築する方法があります。
アダプターは主に、モデルコンテキストのCRUDメソッドを提供することに重点を置いています。CRUD は、作成、読み取り、更新、削除を表します。Sails/Waterline では、これらのメソッドを create()
、find()
、update()
、および destroy()
と呼びます。
たとえば、MySQLAdapter
は create()
メソッドを実装します。このメソッドは内部的には指定されたテーブル名と接続情報を使用して MySQL データベースを呼び出し、INSERT ...
SQL クエリを実行します。
利用可能なアダプター、または カスタム アダプターを作成する方法について説明します。