SDK JavaScript: riferimento al database
Ogni metodo di aura.db e del generatore di query concatenabile, con la sua firma.
6 min letto·Livello riferimento·Revisionato il 12 ott 2026
Questo testo inglese è stato generato automaticamente dall'originale francese e non è stato ancora rivisto.
Questa pagina è stata tradotta automaticamente. Fa fede la versione inglese.
#
Classe
Servizio database
| Metodo | Descrizione |
|---|---|
from<TableName extends string & keyof Schema['Tables'], Table extends Schema['Tables'][TableName]>(table: TableName): AuraQueryBuilder<Schema, Table, TableName, AuraClientOptionsT>from<ViewName extends string & keyof Schema['Views'], View extends Schema['Views'][ViewName]>(view: ViewName): AuraQueryBuilder<Schema, View, ViewName, AuraClientOptionsT>from(table: string): AuraQueryBuilder<any, any, any, AuraClientOptionsT> | Avvia una query su una tabella. |
sql<T = unknown>(query: string, params?: unknown[], options?: RawSqlOptions): Promise<AuraResponse<T>> | Esegue una query SQL non elaborata (POST /v1/db/raw). |
rpc<FnName extends string, Args extends RpcArgsFor<Schema, FnName> = RpcArgsFor<Schema, FnName>, Fn extends { Row: Record<string, unknown>; Result: unknown; RelationName: unknown; Relationships: unknown; } = RpcResultFor<Schema, FnName, Args>>(fn: FnName, args?: Args, options?: RpcOptions): AuraFilterBuilder<Schema, Fn['Row'], Fn['RelationName'], Fn['Relationships'], Fn['Result'], AuraClientOptionsT> | Chiama una funzione Postgres esposta da PostgREST (POST|GET|HEAD /rpc/{fn}). |
schema(): Promise<AuraResponse<{ tables: SchemaTable[]; functions: SchemaFunction[]; enums: SchemaEnum[]; views: SchemaTable[]; }>> | Recupera lo schema (tabelle e colonne, funzioni Postgres esposte tramite PostgREST, tipi enumerativi e visualizzazioni) per il progetto corrente. |
listFunctions(): Promise<AuraResponse<PgFunctionInfo[]>> | Elenca le funzioni dello schema del progetto (GET /v1/db/functions). |
createFunction(definition: CreatePgFunctionRequest): Promise<AuraResponse<null>> | Crea o sostituisce una funzione Postgres (POST /v1/db/functions). Richiede una chiave service_role. PostgreSQL solo progetti. |
dropFunction(name: string): Promise<AuraResponse<null>> | Rimuove una funzionalità dallo schema del progetto (DELETE /v1/db/functions/{name}). Richiede una chiave service_role. |
listTriggers(table: PgRelationName<Schema>): Promise<AuraResponse<PgTriggerInfo[]>> | Elenca i trigger di una tabella (GET /v1/db/{table}/triggers). |
createTrigger(table: PgRelationName<Schema>, definition: CreatePgTriggerRequest): Promise<AuraResponse<null>> | Crea un trigger su una tabella (POST /v1/db/{table}/triggers). Richiede una chiave service_role. PostgreSQL solo progetti. |
dropTrigger(table: PgRelationName<Schema>, name: string): Promise<AuraResponse<null>> | Rimuove un trigger da una tabella (DELETE /v1/db/{table}/triggers/{name}). Richiede service_role. |
#
Classe
AuraQueryBuilder
Generatore di query concatenabile che compila parametri di query URL corrispondenti al formato QueryOptions/FilterOp del backend.
| Metodo | Descrizione |
|---|---|
insert(body: Relation extends { Insert: infer I; } ? I | I[] : never): this | Inserisce una riga o una matrice di righe. |
update(id: string, body: Relation extends { Update: infer U; } ? U : never): AuraFilterBuilder<Schema, Relation['Row'], RelationName, Relation['Relationships'], Relation['Row'][], ClientOptions, false>update(body: Relation extends { Update: infer U; } ? U : never): AuraFilterBuilder<Schema, Relation['Row'], RelationName, Relation['Relationships'], Relation['Row'][], ClientOptions, false> | Aggiorna le righe: update(body) scelte come target dai filtri o update(id, body) per una riga per identificatore. |
delete(id?: string): AuraFilterBuilder<Schema, Relation['Row'], RelationName, Relation['Relationships'], Relation['Row'][], ClientOptions, false> | Elimina le righe: mirate dai filtri o una riga dall'identificatore con delete(id). |
upsert(body: Relation extends { Insert: infer I; } ? I | I[] : never, options?: { onConflict?: string; }): AuraFilterBuilder<Schema, Relation['Row'], RelationName, Relation['Relationships'], Relation['Row'][], ClientOptions, false> | Inserisce o aggiorna (upsert) una riga o un array di righe. options.onConflict nomina la colonna del conflitto (id per impostazione predefinita). |
#
Classe
AuraFilterBuilder
Tutti i filtri PostgREST (eq, neq, ... ilikeAnyOf).
| Metodo | Descrizione |
|---|---|
eq<C extends keyof Row & string>(column: C, value: Row[C]): this | Filtra le righe in cui column è uguale a value. |
neq<C extends keyof Row & string>(column: C, value: Row[C]): this | Filtra le righe in cui column è diverso da value. |
gt<C extends keyof Row & string>(column: C, value: Row[C]): this | Filtra le righe in cui column è strettamente maggiore di value. |
gte<C extends keyof Row & string>(column: C, value: Row[C]): this | Filtra le righe in cui column è maggiore o uguale a value. |
lt<C extends keyof Row & string>(column: C, value: Row[C]): this | Filtra le righe in cui column è rigorosamente inferiore a value. |
lte<C extends keyof Row & string>(column: C, value: Row[C]): this | Filtra le righe in cui column è minore o uguale a value. |
like(column: keyof Row & string, pattern: string): this | Filtra per modello LIKE, con distinzione tra maiuscole e minuscole (% sostituisce una sequenza di caratteri). |
ilike(column: keyof Row & string, pattern: string): this | Filtra per modello ILIKE, senza distinzione tra maiuscole e minuscole. |
is(column: keyof Row & string, value: 'null' | 'true' | 'false' | 'unknown' | 'not.null'): this | Filtro IS NULL o NON IS NULL. |
in<C extends keyof Row & string>(column: C, values: Row[C][]): this | Filtra le righe il cui column è uno di values. |
or(filters: Array<{ column: string; op: string; value: unknown; }>): this | Aggiungi un gruppo OR: or=(col1.eq.val1,col2.gt.val2) |
notIn<C extends keyof Row & string>(column: C, values: Row[C][]): this | Filtra le righe in cui column non è uguale a nessuno di values. |
contains(column: keyof Row & string, value: unknown): this | Filtra le righe la cui colonna (tabella, JSON o intervallo) contiene value (operatore @>). |
containedBy(column: keyof Row & string, value: unknown): this | Filtra le righe la cui colonna (array, JSON o intervallo) è contenuta in value (operatore <@). |
overlaps(column: keyof Row & string, value: unknown): this | Filtra le righe la cui colonna (matrice o intervallo) ha almeno un elemento in comune con value (operatore &&). |
rangeGt(column: keyof Row & string, range: string): this | Intervallo: filtra gli intervalli posizionati rigorosamente a destra di range (operatore >>). |
rangeGte(column: keyof Row & string, range: string): this | Intervallo: filtra gli intervalli che non si estendono a sinistra di range (operatore &>). |
rangeLt(column: keyof Row & string, range: string): this | Intervallo: filtra gli intervalli posizionati rigorosamente a sinistra di range (operatore <<). |
rangeLte(column: keyof Row & string, range: string): this | Intervallo: filtra gli intervalli che non si estendono a destra di range (operatore &<). |
rangeAdjacent(column: keyof Row & string, range: string): this | Intervallo: filtra gli intervalli adiacenti a range (operatore -|-). |
isDistinct(column: keyof Row & string, value: unknown): this | Filtra le righe in cui column è distinto da value, trattando NULL come un valore (IS DISTINCT FROM). |
not(column: string, op: string, value: unknown): this | Nega un filtro: not('status', 'eq', 'done') è equivalente a status diverso da done. |
filter(column: string, op: string, value: unknown): this | Aggiunge un filtro con un operatore PostgREST non elaborato (eq, gt, cs…), per i casi non coperti da un metodo dedicato. |
match(query: Record<string, unknown>): this | Filtra per uguaglianza su più colonne contemporaneamente: match({ a: 1, b: 2 }). |
textSearch(column: keyof Row & string, query: string, options?: { type?: 'plain' | 'phrase' | 'websearch'; config?: string; }): this | Ricerca nel testo completo. options.type sceglie la query: 'plain', 'phrase' o 'websearch' (altrimenti sintassi nativa tsquery); options.config imposta la configurazione della lingua. |
likeAllOf(column: keyof Row & string, patterns: string[]): this | Filtro LIKE: la colonna deve corrispondere a TUTTI i modelli. |
likeAnyOf(column: keyof Row & string, patterns: string[]): this | Filtro LIKE: la colonna deve corrispondere ad ALMENO UNO dei modelli. |
ilikeAllOf(column: keyof Row & string, patterns: string[]): this | Filtro ILIKE (senza distinzione tra maiuscole e minuscole): la colonna deve corrispondere a TUTTI i modelli. |
ilikeAnyOf(column: keyof Row & string, patterns: string[]): this | Filtro ILIKE (senza distinzione tra maiuscole e minuscole): la colonna deve corrispondere ad ALMENO UNO dei modelli. |
#
Classe
AuraTransformBuilder
Modificatori di selezione, ordinamento, impaginazione e cardinalità delle colonne (single/maybeSingle/count).
| Metodo | Descrizione |
|---|---|
select<Query extends string = '*', NewResultOne = GetResult<Schema, Row, RelationName, Relationships, Query, ClientOptions>>(columns?: Query, options?: SelectOptions): AuraFilterBuilder<Schema, Row, RelationName, Relationships, NewResultOne[], ClientOptions, ThrowOnError> | Seleziona le colonne e facoltativamente incorpora le risorse correlate (parità PostgREST). |
order(column: string, directionOrOptions?: 'asc' | 'desc' | OrderOptions): this | Ordina su una colonna. |
limit(n: number): this | Limita il numero di righe restituite. |
offset(n: number): this | Ignora le prime righe n (spostamento pagina). |
range(from: number, to: number): this | Pagine per intervallo di indice [da, a] (incluso, base 0). |
cursor(cursor: string): this | Impaginazione keyset: passa l'opaco next_cursor della pagina precedente (preferibile a offset su tabelle di grandi dimensioni: stabile, senza dup/skip). |
count(mode?: CountMode): this | Richiede il numero totale di righe corrispondenti (impostazione predefinita 'exact' o 'estimated'), restituite in count. |
single<ResultOne = Result extends (infer U)[] ? U : Result>(): AuraPostgrestBuilder<ClientOptions, ResultOne, ThrowOnError> | Attende esattamente una riga e restituisce l'oggetto stesso; 0 o più righe restituiscono l'errore PGRST116. |
maybeSingle<ResultOne = Result extends (infer U)[] ? U : Result>(): AuraPostgrestBuilder<ClientOptions, ResultOne | null, ThrowOnError> | Come single(), ma 0 righe non sono un errore: data sarà quindi null. |
#
Classe
AuraPostgrestBuilder
Classe base: stato condiviso, costruttore, esecuzione HTTP (then/_execute), throwOnError e buildQueryString.
| Metodo | Descrizione |
|---|---|
throwOnError(): this | Genera un'eccezione (invece di restituire { error }) quando la richiesta fallisce. |
buildQueryString(): string | Costruisce la stringa di query PostgREST (selezione, filtri, ordinamento, impaginazione) senza eseguire la query; utile per il debug. |
then<TResult1 = AuraResponse<Result>, TResult2 = never>(onfulfilled?: ((value: AuraResponse<Result>) => TResult1 | PromiseLike<TResult1>) | null, onrejected?: ((reason: unknown) => TResult2 | PromiseLike<TResult2>) | null): Promise<TResult1 | TResult2> | Esegue la query: il builder è “thenable”, basta un semplice await. |
Pagina generata
Questa pagina viene generata dalle dichiarazioni di tipo e dai commenti dell'SDK, quindi non può derivare dal codice pubblicato. Per esempi pratici, leggi le guide.
Ultimo aggiornamento · 12 ott 2026