Tento dokument byl přeložen umělou inteligencí. V případě nepřesností se prosím obraťte na anglickou verzi
Database je důležitou součástí zdrojů dat (DataSource) typu databáze. Každý zdroj dat typu databáze má odpovídající instanci Database, ke které lze přistupovat prostřednictvím dataSource.db. Instance databáze hlavního zdroje dat navíc poskytuje pohodlný alias app.db. Seznámení se s běžnými metodami db je základem pro psaní serverových pluginů.
Typická Database se skládá z následujících částí:
V této fázi nejsou povoleny databázové operace. Je vhodná pro registraci statických tříd nebo naslouchání událostem.
db.registerFieldTypes() — Vlastní typy polídb.registerModels() — Registrace vlastních tříd modelůdb.registerRepositories() — Registrace vlastních tříd repozitářůdb.registerOperators() — Registrace vlastních operátorů pro filtrovánídb.on() — Naslouchání událostem souvisejícím s databázíV této fázi jsou již načteny všechny předchozí definice tříd a události, takže načítání datových tabulek nebude mít chybějící nebo opomenuté závislosti.
db.defineCollection() — Definování nových datových tabulekdb.extendCollection() — Rozšíření stávajících konfigurací datových tabulekPokud jde o definování vestavěných tabulek pluginu, doporučuje se je umístit do adresáře ./src/server/collections. Více informací naleznete v Kolekcích.
Database poskytuje dva hlavní způsoby přístupu a manipulace s daty:
Vrstva Repository se obvykle používá k zapouzdření obchodní logiky, jako je stránkování, filtrování, kontroly oprávnění atd.
Vrstva Model přímo odpovídá ORM entitám a je vhodná pro provádění databázových operací na nižší úrovni.
| Fáze | Povoleny databázové operace |
|---|---|
staticImport | Ne |
afterAdd | Ne |
beforeLoad | Ne |
load | Ne |
install | Ano |
beforeEnable | Ano |
afterEnable | Ano |
beforeDisable | Ano |
afterDisable | Ano |
remove | Ano |
handleSyncMessage | Ano |
| Fáze | Povoleny databázové operace |
|---|---|
beforeLoad | Ne |
afterLoad | Ne |
beforeStart | Ano |
afterStart | Ano |
beforeInstall | Ne |
afterInstall | Ano |
beforeStop | Ano |
afterStop | Ne |
beforeDestroy | Ano |
afterDestroy | Ne |
beforeLoadPlugin | Ne |
afterLoadPlugin | Ne |
beforeEnablePlugin | Ano |
afterEnablePlugin | Ano |
beforeDisablePlugin | Ano |
afterDisablePlugin | Ano |
afterUpgrade | Ano |
| Fáze | Povoleny databázové operace |
|---|---|
beforeSync | Ne |
afterSync | Ano |
beforeValidate | Ano |
afterValidate | Ano |
beforeCreate | Ano |
afterCreate | Ano |
beforeUpdate | Ano |
afterUpdate | Ano |
beforeSave | Ano |
afterSave | Ano |
beforeDestroy | Ano |
afterDestroy | Ano |
afterCreateWithAssociations | Ano |
afterUpdateWithAssociations | Ano |
afterSaveWithAssociations | Ano |
beforeDefineCollection | Ne |
afterDefineCollection | Ne |
beforeRemoveCollection | Ne |
afterRemoveCollection | Ne |