Aura Logo
aurabasedocumentos
documentos›JavaScript SDK reference›Database reference

SDK JavaScript: referência de banco de dados

Todo método de aura.db e do construtor de consulta encadeado, com sua assinatura.

6 min lido·Nível referência·Revisado em 12 de out. de 2026
Este texto em inglês foi gerado automaticamente a partir do original em francês e ainda não foi revisado.
Esta página foi traduzida automaticamente. A versão em inglês é oficial.
#
Classe

Serviço de banco de dados

MétodoDescrição
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>
Inicie uma consulta em uma tabela.
sql<T = unknown>(query: string, params?: unknown[], options?: RawSqlOptions): Promise<AuraResponse<T>>Executa uma consulta SQL bruta (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>Chama uma função Postgres exposta por PostgREST (POST|GET|HEAD /rpc/{fn}).
schema(): Promise<AuraResponse<{ tables: SchemaTable[]; functions: SchemaFunction[]; enums: SchemaEnum[]; views: SchemaTable[]; }>>Busque o esquema (tabelas e colunas, funções Postgres expostas via PostgREST, tipos de enum e visualizações) para o projeto atual.
listFunctions(): Promise<AuraResponse<PgFunctionInfo[]>>Lista as funções do esquema do projeto (GET /v1/db/functions).
createFunction(definition: CreatePgFunctionRequest): Promise<AuraResponse<null>>Cria ou substitui uma função Postgres (POST /v1/db/functions). Requer uma chave service_role. PostgreSQL somente projetos.
dropFunction(name: string): Promise<AuraResponse<null>>Remove um recurso do esquema do projeto (DELETE /v1/db/functions/{name}). Requer uma chave service_role.
listTriggers(table: PgRelationName<Schema>): Promise<AuraResponse<PgTriggerInfo[]>>Lista os gatilhos de uma tabela (GET /v1/db/{table}/triggers).
createTrigger(table: PgRelationName<Schema>, definition: CreatePgTriggerRequest): Promise<AuraResponse<null>>Cria um gatilho em uma tabela (POST /v1/db/{table}/triggers). Requer uma chave service_role. PostgreSQL somente projetos.
dropTrigger(table: PgRelationName<Schema>, name: string): Promise<AuraResponse<null>>Remove um gatilho de uma tabela (DELETE /v1/db/{table}/triggers/{name}). Requer service_role.
#
Classe

AuraQueryBuilder

Construtor de consultas encadeado que compila para parâmetros de consulta de URL correspondentes ao formato QueryOptions/FilterOp do back-end.

MétodoDescrição
insert(body: Relation extends { Insert: infer I; } ? I | I[] : never): thisInsere uma linha ou uma matriz de linhas.
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>
Atualiza linhas: update(body) direcionadas por filtros ou update(id, body) para uma linha por identificador.
delete(id?: string): AuraFilterBuilder<Schema, Relation['Row'], RelationName, Relation['Relationships'], Relation['Row'][], ClientOptions, false>Exclui linhas: segmentadas por filtros ou uma linha por identificador com 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>Insere ou atualiza (upsert) uma linha ou uma matriz de linhas. options.onConflict nomeia a coluna de conflito (id por padrão).
#
Classe

AuraFilterBuilder

Todos os filtros PostgREST (eq, neq, ... ilikeAnyOf).

MétodoDescrição
eq<C extends keyof Row & string>(column: C, value: Row[C]): thisFiltra linhas onde column é igual a value.
neq<C extends keyof Row & string>(column: C, value: Row[C]): thisFiltra linhas onde column é diferente de value.
gt<C extends keyof Row & string>(column: C, value: Row[C]): thisFiltra linhas onde column é estritamente maior que value.
gte<C extends keyof Row & string>(column: C, value: Row[C]): thisFiltra linhas onde column é maior ou igual a value.
lt<C extends keyof Row & string>(column: C, value: Row[C]): thisFiltra linhas onde column é estritamente menor que value.
lte<C extends keyof Row & string>(column: C, value: Row[C]): thisFiltra linhas onde column é menor ou igual a value.
like(column: keyof Row & string, pattern: string): thisFiltrar por padrão LIKE, diferenciando maiúsculas de minúsculas (% substitui uma sequência de caracteres).
ilike(column: keyof Row & string, pattern: string): thisFiltrar por padrão ILIKE, sem distinção entre maiúsculas e minúsculas.
is(column: keyof Row & string, value: 'null' | 'true' | 'false' | 'unknown' | 'not.null'): thisFiltro É NULO ou NÃO É NULO.
in<C extends keyof Row & string>(column: C, values: Row[C][]): thisFiltra linhas cujo column é um de values.
or(filters: Array<{ column: string; op: string; value: unknown; }>): thisAdicione um grupo OR: or=(col1.eq.val1,col2.gt.val2)
notIn<C extends keyof Row & string>(column: C, values: Row[C][]): thisFiltra linhas onde column não é igual a nenhum de values.
contains(column: keyof Row & string, value: unknown): thisFiltra linhas cuja coluna (tabela, JSON ou intervalo) contém value (operador @>).
containedBy(column: keyof Row & string, value: unknown): thisFiltra linhas cuja coluna (matriz, JSON ou intervalo) está contida em value (operador <@).
overlaps(column: keyof Row & string, value: unknown): thisFiltra linhas cuja coluna (matriz ou intervalo) possui pelo menos um elemento em comum com value (operador &&).
rangeGt(column: keyof Row & string, range: string): thisIntervalo: filtra os intervalos localizados estritamente à direita de range (operador >>).
rangeGte(column: keyof Row & string, range: string): thisIntervalo: Filtra intervalos que não se estendem à esquerda de range (operador &>).
rangeLt(column: keyof Row & string, range: string): thisIntervalo: filtra os intervalos localizados estritamente à esquerda de range (operador <<).
rangeLte(column: keyof Row & string, range: string): thisIntervalo: Filtra intervalos que não se estendem à direita de range (operador &<).
rangeAdjacent(column: keyof Row & string, range: string): thisIntervalo: filtra os intervalos adjacentes a range (operador -|-).
isDistinct(column: keyof Row & string, value: unknown): thisFiltra linhas onde column é distinto de value, tratando NULL como um valor (IS DISTINCT FROM).
not(column: string, op: string, value: unknown): thisNega um filtro: not('status', 'eq', 'done') é equivalente a status diferente de done.
filter(column: string, op: string, value: unknown): thisAdiciona um filtro com um operador PostgREST bruto (eq, gt, cs…), para casos não cobertos por um método dedicado.
match(query: Record<string, unknown>): thisFiltre por igualdade em várias colunas ao mesmo tempo: match({ a: 1, b: 2 }).
textSearch(column: keyof Row & string, query: string, options?: { type?: 'plain' | 'phrase' | 'websearch'; config?: string; }): thisPesquisa de texto completo. options.type escolhe a consulta: 'plain', 'phrase' ou 'websearch' (caso contrário, sintaxe nativa tsquery); options.config define a configuração do idioma.
likeAllOf(column: keyof Row & string, patterns: string[]): thisFiltro LIKE: a coluna deve corresponder a TODOS os padrões.
likeAnyOf(column: keyof Row & string, patterns: string[]): thisFiltro LIKE: a coluna deve corresponder a PELO MENOS UM dos padrões.
ilikeAllOf(column: keyof Row & string, patterns: string[]): thisFiltro ILIKE (sem distinção entre maiúsculas e minúsculas): a coluna deve corresponder a TODOS os padrões.
ilikeAnyOf(column: keyof Row & string, patterns: string[]): thisFiltro ILIKE (sem distinção entre maiúsculas e minúsculas): a coluna deve corresponder a PELO MENOS UM dos padrões.
#
Classe

AuraTransformBuilder

Seleção de coluna, classificação, paginação e modificadores de cardinalidade (single/maybeSingle/count).

MétodoDescrição
select<Query extends string = '*', NewResultOne = GetResult<Schema, Row, RelationName, Relationships, Query, ClientOptions>>(columns?: Query, options?: SelectOptions): AuraFilterBuilder<Schema, Row, RelationName, Relationships, NewResultOne[], ClientOptions, ThrowOnError>Selecione colunas e, opcionalmente, incorpore recursos relacionados (paridade PostgREST).
order(column: string, directionOrOptions?: 'asc' | 'desc' | OrderOptions): thisClassifique em uma coluna.
limit(n: number): thisLimita o número de linhas retornadas.
offset(n: number): thisIgnora as primeiras linhas n (paginação por turno).
range(from: number, to: number): thisPáginas por intervalo de índice [de, até] (inclusive, base 0).
cursor(cursor: string): thisPaginação do conjunto de chaves: passe o next_cursor opaco da página anterior (preferível a offset em tabelas grandes: estável, sem dup/skip).
count(mode?: CountMode): thisSolicita o número total de linhas correspondentes (padrão 'exact' ou 'estimated'), retornadas em count.
single<ResultOne = Result extends (infer U)[] ? U : Result>(): AuraPostgrestBuilder<ClientOptions, ResultOne, ThrowOnError>Espera exatamente uma linha e retorna o próprio objeto; 0 ou várias linhas geram o erro PGRST116.
maybeSingle<ResultOne = Result extends (infer U)[] ? U : Result>(): AuraPostgrestBuilder<ClientOptions, ResultOne | null, ThrowOnError>Como single(), mas 0 linhas não são um erro: data é então null.
#
Classe

AuraPostgrestBuilder

Classe base: estado compartilhado, construtor, execução HTTP (then/_execute), throwOnError e buildQueryString.

MétodoDescrição
throwOnError(): thisLança uma exceção (em vez de retornar { error }) quando a solicitação falha.
buildQueryString(): stringConstrói a string de consulta PostgREST (seleção, filtros, classificação, paginação) sem executar a consulta; útil para depuração.
then<TResult1 = AuraResponse<Result>, TResult2 = never>(onfulfilled?: ((value: AuraResponse<Result>) => TResult1 | PromiseLike<TResult1>) | null, onrejected?: ((reason: unknown) => TResult2 | PromiseLike<TResult2>) | null): Promise<TResult1 | TResult2>Executa a consulta: o construtor é “thenable”, um simples await é suficiente.
Página gerada

Esta página é gerada a partir das declarações de tipo e comentários do SDK, portanto, não pode desviar do código publicado. Para exemplos resolvidos, leia os guias.

Última atualização · 12 de out. de 2026