Detta dokument har översatts av AI. För eventuella felaktigheter, se den engelska versionen
Database är en viktig komponent i datakällor av databastyp (DataSource). Varje datakälla av databastyp har en motsvarande Database-instans, som ni kan komma åt via dataSource.db. Huvuddatakällans databasinstans erbjuder även det praktiska aliaset app.db. Att känna till db:s vanliga metoder är grundläggande för att skriva server-sidiga plugin.
En typisk Database består av följande delar:
I detta skede är databasoperationer inte tillåtna. Det är lämpligt för registrering av statiska klasser eller händelselyssning.
db.registerFieldTypes() — Anpassade fälttyperdb.registerModels() — Registrera anpassade modellklasserdb.registerRepositories() — Registrera anpassade repository-klasserdb.registerOperators() — Registrera anpassade filteroperatorerdb.on() — Lyssna på databasrelaterade händelserI detta skede har alla föregående klassdefinitioner och händelser laddats, så när ni laddar datatabeller kommer det inte att finnas några saknade eller utelämnade beroenden.
db.defineCollection() — Definiera nya datatabellerdb.extendCollection() — Utöka befintliga datatabellkonfigurationerOm det gäller att definiera plugin:s inbyggda tabeller, rekommenderas det att placera dem i katalogen ./src/server/collections. Se Samlingar.
Database erbjuder två huvudsakliga sätt att komma åt och hantera data:
Repository-lagret används vanligtvis för att kapsla in affärslogik, såsom paginering, filtrering, behörighetskontroller med mera.
Model-lagret motsvarar direkt ORM-entiteter och är lämpligt för att utföra databasoperationer på en lägre nivå.
| Fas | Databasoperationer tillåtna |
|---|---|
staticImport | Nej |
afterAdd | Nej |
beforeLoad | Nej |
load | Nej |
install | Ja |
beforeEnable | Ja |
afterEnable | Ja |
beforeDisable | Ja |
afterDisable | Ja |
remove | Ja |
handleSyncMessage | Ja |
| Fas | Databasoperationer tillåtna |
|---|---|
beforeLoad | Nej |
afterLoad | Nej |
beforeStart | Ja |
afterStart | Ja |
beforeInstall | Nej |
afterInstall | Ja |
beforeStop | Ja |
afterStop | Nej |
beforeDestroy | Ja |
afterDestroy | Nej |
beforeLoadPlugin | Nej |
afterLoadPlugin | Nej |
beforeEnablePlugin | Ja |
afterEnablePlugin | Ja |
beforeDisablePlugin | Ja |
afterDisablePlugin | Ja |
afterUpgrade | Ja |
| Fas | Databasoperationer tillåtna |
|---|---|
beforeSync | Nej |
afterSync | Ja |
beforeValidate | Ja |
afterValidate | Ja |
beforeCreate | Ja |
afterCreate | Ja |
beforeUpdate | Ja |
afterUpdate | Ja |
beforeSave | Ja |
afterSave | Ja |
beforeDestroy | Ja |
afterDestroy | Ja |
afterCreateWithAssociations | Ja |
afterUpdateWithAssociations | Ja |
afterSaveWithAssociations | Ja |
beforeDefineCollection | Nej |
afterDefineCollection | Nej |
beforeRemoveCollection | Nej |
afterRemoveCollection | Nej |