In questa sezione
Oggetti
defineObject — dichiara nuovi tipi di record con i propri campi.Estendere gli oggetti
defineField — aggiunge campi agli oggetti standard o di altre app.Relazioni
Connessioni bidirezionali
MANY_TO_ONE / ONE_TO_MANY tra oggetti.Entità in sintesi
L’SDK rileva questi elementi tramite analisi AST in fase di build, quindi l’organizzazione dei file dipende da te — la convenzione è
src/objects/, src/fields/ e src/indexes/. Gli UUID universalIdentifier stabili collegano tutto tra le varie distribuzioni.
Indici (facoltativi)
Le app possono distribuire indici insieme ai loro oggetti per mantenere veloci le query ricorrenti. Il caso più comune è una colonna di stato o di chiave esterna che leggi spesso.src/indexes/post-card-status.index.ts
Indici univoci
defineIndex accetta isUnique: true sia per l’univocità a singola colonna sia per quella multi-colonna. Questa è la primitiva consigliata — defineField({ isUnique: true }) è deprecata e verrà rimossa in una futura release.
Altri vincoli
- Le clausole
WHEREparziali restano sotto il controllo dell’amministratore — le app non possono dichiararle. - Ogni oggetto è limitato a 10 indici personalizzati (gli indici propri del framework non contano).
fields nel modo in cui Postgres dovrebbe usarlo — la colonna più a sinistra per prima, come in un elenco telefonico. Gli indici non sono gratuiti: ogni scrittura sulla tabella li aggiorna. Aggiungine uno solo quando hai una query che ne ha bisogno.