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étodo | Descriçã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étodo | Descrição |
|---|---|
insert(body: Relation extends { Insert: infer I; } ? I | I[] : never): this | Insere 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étodo | Descrição |
|---|---|
eq<C extends keyof Row & string>(column: C, value: Row[C]): this | Filtra linhas onde column é igual a value. |
neq<C extends keyof Row & string>(column: C, value: Row[C]): this | Filtra linhas onde column é diferente de value. |
gt<C extends keyof Row & string>(column: C, value: Row[C]): this | Filtra linhas onde column é estritamente maior que value. |
gte<C extends keyof Row & string>(column: C, value: Row[C]): this | Filtra linhas onde column é maior ou igual a value. |
lt<C extends keyof Row & string>(column: C, value: Row[C]): this | Filtra linhas onde column é estritamente menor que value. |
lte<C extends keyof Row & string>(column: C, value: Row[C]): this | Filtra linhas onde column é menor ou igual a value. |
like(column: keyof Row & string, pattern: string): this | Filtrar por padrão LIKE, diferenciando maiúsculas de minúsculas (% substitui uma sequência de caracteres). |
ilike(column: keyof Row & string, pattern: string): this | Filtrar 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'): this | Filtro É NULO ou NÃO É NULO. |
in<C extends keyof Row & string>(column: C, values: Row[C][]): this | Filtra linhas cujo column é um de values. |
or(filters: Array<{ column: string; op: string; value: unknown; }>): this | Adicione um grupo OR: or=(col1.eq.val1,col2.gt.val2) |
notIn<C extends keyof Row & string>(column: C, values: Row[C][]): this | Filtra linhas onde column não é igual a nenhum de values. |
contains(column: keyof Row & string, value: unknown): this | Filtra linhas cuja coluna (tabela, JSON ou intervalo) contém value (operador @>). |
containedBy(column: keyof Row & string, value: unknown): this | Filtra linhas cuja coluna (matriz, JSON ou intervalo) está contida em value (operador <@). |
overlaps(column: keyof Row & string, value: unknown): this | Filtra linhas cuja coluna (matriz ou intervalo) possui pelo menos um elemento em comum com value (operador &&). |
rangeGt(column: keyof Row & string, range: string): this | Intervalo: filtra os intervalos localizados estritamente à direita de range (operador >>). |
rangeGte(column: keyof Row & string, range: string): this | Intervalo: Filtra intervalos que não se estendem à esquerda de range (operador &>). |
rangeLt(column: keyof Row & string, range: string): this | Intervalo: filtra os intervalos localizados estritamente à esquerda de range (operador <<). |
rangeLte(column: keyof Row & string, range: string): this | Intervalo: Filtra intervalos que não se estendem à direita de range (operador &<). |
rangeAdjacent(column: keyof Row & string, range: string): this | Intervalo: filtra os intervalos adjacentes a range (operador -|-). |
isDistinct(column: keyof Row & string, value: unknown): this | Filtra linhas onde column é distinto de value, tratando NULL como um valor (IS DISTINCT FROM). |
not(column: string, op: string, value: unknown): this | Nega um filtro: not('status', 'eq', 'done') é equivalente a status diferente de done. |
filter(column: string, op: string, value: unknown): this | Adiciona 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>): this | Filtre 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; }): this | Pesquisa 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[]): this | Filtro LIKE: a coluna deve corresponder a TODOS os padrões. |
likeAnyOf(column: keyof Row & string, patterns: string[]): this | Filtro LIKE: a coluna deve corresponder a PELO MENOS UM dos padrões. |
ilikeAllOf(column: keyof Row & string, patterns: string[]): this | Filtro 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[]): this | Filtro 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étodo | Descriçã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): this | Classifique em uma coluna. |
limit(n: number): this | Limita o número de linhas retornadas. |
offset(n: number): this | Ignora as primeiras linhas n (paginação por turno). |
range(from: number, to: number): this | Páginas por intervalo de índice [de, até] (inclusive, base 0). |
cursor(cursor: string): this | Paginaçã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): this | Solicita 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étodo | Descrição |
|---|---|
throwOnError(): this | Lança uma exceção (em vez de retornar { error }) quando a solicitação falha. |
buildQueryString(): string | Constró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