このドキュメントはAIによって翻訳されました。不正確な情報については、英語版をご参照ください
Database は、データベースタイプのデータソース(DataSource)の重要な構成要素です。各データベースタイプのデータソースには、対応する Database インスタンスがあり、dataSource.db を介してアクセスできます。メインのデータソースのデータベースインスタンスは、便利な app.db というエイリアスも提供しています。db の一般的なメソッドに慣れておくことは、サーバーサイドのプラグインを作成する上で基本となります。
一般的な Database は、以下の要素で構成されています。
beforeLoad フェーズで推奨される処理このフェーズではデータベース操作はできません。静的クラスの登録やイベントリスニングに適しています。
db.registerFieldTypes() — カスタムフィールドタイプdb.registerModels() — カスタムモデルクラスの登録db.registerRepositories() — カスタムリポジトリクラスの登録db.registerOperators() — カスタムフィルター演算子の登録db.on() — データベース関連イベントのリスニングload フェーズで推奨される処理このフェーズでは、すべての先行するクラス定義とイベントがロード済みのため、データテーブルをロードしても欠落や漏れが発生することはありません。
db.defineCollection() — 新しいデータテーブルの定義db.extendCollection() — 既存のデータテーブル設定の拡張プラグインの組み込みテーブルを定義する場合は、./src/server/collections ディレクトリに配置することをお勧めします。詳細については、コレクション を参照してください。
Database は、データをアクセスおよび操作するための2つの主要な方法を提供します。
リポジトリ層は通常、ページネーション、フィルタリング、権限チェックなどのビジネスロジックをカプセル化するために使用されます。
モデル層は ORM エンティティに直接対応しており、より低レベルのデータベース操作の実行に適しています。
| フェーズ | データベース操作が可能 |
|---|---|
staticImport | 不可 |
afterAdd | 不可 |
beforeLoad | 不可 |
load | 不可 |
install | 可能 |
beforeEnable | 可能 |
afterEnable | 可能 |
beforeDisable | 可能 |
afterDisable | 可能 |
remove | 可能 |
handleSyncMessage | 可能 |
| フェーズ | データベース操作が可能 |
|---|---|
beforeLoad | 不可 |
afterLoad | 不可 |
beforeStart | 可能 |
afterStart | 可能 |
beforeInstall | 不可 |
afterInstall | 可能 |
beforeStop | 可能 |
afterStop | 不可 |
beforeDestroy | 可能 |
afterDestroy | 不可 |
beforeLoadPlugin | 不可 |
afterLoadPlugin | 不可 |
beforeEnablePlugin | 可能 |
afterEnablePlugin | 可能 |
beforeDisablePlugin | 可能 |
afterDisablePlugin | 可能 |
afterUpgrade | 可能 |
| フェーズ | データベース操作が可能 |
|---|---|
beforeSync | 不可 |
afterSync | 可能 |
beforeValidate | 可能 |
afterValidate | 可能 |
beforeCreate | 可能 |
afterCreate | 可能 |
beforeUpdate | 可能 |
afterUpdate | 可能 |
beforeSave | 可能 |
afterSave | 可能 |
beforeDestroy | 可能 |
afterDestroy | 可能 |
afterCreateWithAssociations | 可能 |
afterUpdateWithAssociations | 可能 |
afterSaveWithAssociations | 可能 |
beforeDefineCollection | 不可 |
afterDefineCollection | 不可 |
beforeRemoveCollection | 不可 |
afterRemoveCollection | 不可 |