V této části
Objekty
defineObject — deklarujte nové typy záznamů s jejich vlastními poli.Rozšiřování objektů
defineField — přidejte pole ke standardním objektům nebo objektům jiných aplikací.Vztahy
Obousměrná
MANY_TO_ONE / ONE_TO_MANY propojení mezi objekty.Entity v kostce
| Entita | Účel | Definováno pomocí |
|---|---|---|
| Objekt | Nový vlastní typ záznamu (např. PostCard, Invoice) s vlastními poli | defineObject() |
| Pole | Sloupec v objektu. Samostatná pole mohou rozšiřovat objekty, které jste nevytvořili (např. přidat loyaltyTier k objektu Company) | defineField() |
| Vztah | Obousměrné propojení mezi dvěma objekty — obě strany deklarované jako pole | defineField() s FieldType.RELATION |
| Index | Databázový index pro zrychlení opakovaného dotazu na jeden z vašich objektů | defineIndex() |
src/objects/, src/fields/ a src/indexes/. Stabilní UUID universalIdentifier vše propojují napříč nasazeními.
Indexy (volitelné)
Aplikace mohou dodávat indexy společně se svými objekty, aby udržely opakované dotazy rychlými. Nejčastějším případem je sloupec se stavem nebo cizím klíčem, který často čtete.src/indexes/post-card-status.index.ts
Jedinečné indexy
defineIndex přijímá isUnique: true jak pro jedinečnost jednoho sloupce, tak vícesloupcovou jedinečnost. Toto je doporučené primitivum — defineField({ isUnique: true }) je zastaralé a bude odstraněno v některém z příštích vydání.
Další omezení
- Částečné klauzule
WHEREzůstávají pod kontrolou administrátora — aplikace je nemohou deklarovat. - Každý objekt je omezen na 10 vlastních indexů (indexy samotného frameworku se nepočítají).
fields tak, jak je má Postgres používat — nejlevější sloupec jako první, jako v telefonním seznamu. Indexy nejsou zadarmo: každý zápis do tabulky je aktualizuje. Přidávejte je jen tehdy, když máte dotaz, který je potřebuje.