SDK JavaScript : référence de base de données
Chaque méthode de aura.db et du générateur de requêtes chaînables, avec sa signature.
6 min de lecture·Niveau référence·Révisé le 12 oct. 2026
Ce texte anglais a été généré automatiquement à partir de l’original français et n’a pas encore été relu.
Cette page a été traduite automatiquement. La version anglaise fait foi.
#
Classe
Service de base de données
| Méthode | Descriptif |
|---|---|
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> | Démarrer une requête sur une table. |
sql<T = unknown>(query: string, params?: unknown[], options?: RawSqlOptions): Promise<AuraResponse<T>> | Exécute une requête SQL brute (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> | Appelle une fonction Postgres exposée par PostgREST (POST|GET|HEAD /rpc/{fn}). |
schema(): Promise<AuraResponse<{ tables: SchemaTable[]; functions: SchemaFunction[]; enums: SchemaEnum[]; views: SchemaTable[]; }>> | Récupérez le schéma (tables et colonnes, fonctions Postgres exposées via PostgREST, types d'énumération et vues) pour le projet en cours. |
listFunctions(): Promise<AuraResponse<PgFunctionInfo[]>> | Répertorie les fonctions du schéma du projet (GET /v1/db/functions). |
createFunction(definition: CreatePgFunctionRequest): Promise<AuraResponse<null>> | Crée ou remplace une fonction Postgres (POST /v1/db/functions). Nécessite une clé service_role. Projets PostgreSQL uniquement. |
dropFunction(name: string): Promise<AuraResponse<null>> | Supprime une fonctionnalité du schéma du projet (DELETE /v1/db/functions/{name}). Nécessite une clé service_role. |
listTriggers(table: PgRelationName<Schema>): Promise<AuraResponse<PgTriggerInfo[]>> | Répertorie les déclencheurs d'une table (GET /v1/db/{table}/triggers). |
createTrigger(table: PgRelationName<Schema>, definition: CreatePgTriggerRequest): Promise<AuraResponse<null>> | Crée un déclencheur sur une table (POST /v1/db/{table}/triggers). Nécessite une clé service_role. Projets PostgreSQL uniquement. |
dropTrigger(table: PgRelationName<Schema>, name: string): Promise<AuraResponse<null>> | Supprime un déclencheur d'une table (DELETE /v1/db/{table}/triggers/{name}). Nécessite service_role. |
#
Classe
AuraQueryBuilder
Générateur de requêtes chaînables qui compile en paramètres de requête URL correspondant au format QueryOptions / FilterOp du backend.
| Méthode | Descriptif |
|---|---|
insert(body: Relation extends { Insert: infer I; } ? I | I[] : never): this | Insère une ligne ou un tableau de lignes. |
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> | Met à jour les lignes : update(body) ciblées par les filtres, ou update(id, body) pour une ligne par identifiant. |
delete(id?: string): AuraFilterBuilder<Schema, Relation['Row'], RelationName, Relation['Relationships'], Relation['Row'][], ClientOptions, false> | Supprime des lignes : ciblées par des filtres, ou une ligne par identifiant avec 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> | Insère ou met à jour (upsert) une ligne ou un tableau de lignes. options.onConflict nomme la colonne de conflit (id par défaut). |
#
Classe
AuraFilterBuilder
Tous les filtres PostgREST (eq, neq, ... ilikeAnyOf).
| Méthode | Descriptif |
|---|---|
eq<C extends keyof Row & string>(column: C, value: Row[C]): this | Filtre les lignes où column est égal à value. |
neq<C extends keyof Row & string>(column: C, value: Row[C]): this | Filtre les lignes où column est différent de value. |
gt<C extends keyof Row & string>(column: C, value: Row[C]): this | Filtre les lignes où column est strictement supérieur à value. |
gte<C extends keyof Row & string>(column: C, value: Row[C]): this | Filtre les lignes où column est supérieur ou égal à value. |
lt<C extends keyof Row & string>(column: C, value: Row[C]): this | Filtre les lignes où column est strictement inférieur à value. |
lte<C extends keyof Row & string>(column: C, value: Row[C]): this | Filtre les lignes où column est inférieur ou égal à value. |
like(column: keyof Row & string, pattern: string): this | Filtrer par modèle LIKE, sensible à la casse (% remplace une séquence de caractères). |
ilike(column: keyof Row & string, pattern: string): this | Filtrer par modèle ILIKE, insensible à la casse. |
is(column: keyof Row & string, value: 'null' | 'true' | 'false' | 'unknown' | 'not.null'): this | Filtre IS NULL ou IS NOT NULL. |
in<C extends keyof Row & string>(column: C, values: Row[C][]): this | Filtre les lignes dont column est l'un des values. |
or(filters: Array<{ column: string; op: string; value: unknown; }>): this | Ajouter un groupe OR : or=(col1.eq.val1,col2.gt.val2) |
notIn<C extends keyof Row & string>(column: C, values: Row[C][]): this | Filtre les lignes où column n'est égal à aucun des values. |
contains(column: keyof Row & string, value: unknown): this | Filtre les lignes dont la colonne (table, JSON ou plage) contient value (opérateur @>). |
containedBy(column: keyof Row & string, value: unknown): this | Filtre les lignes dont la colonne (tableau, JSON ou plage) est contenue dans value (opérateur <@). |
overlaps(column: keyof Row & string, value: unknown): this | Filtre les lignes dont la colonne (tableau ou plage) a au moins un élément en commun avec value (opérateur &&). |
rangeGt(column: keyof Row & string, range: string): this | Intervalle : filtre les plages situées strictement à droite de range (opérateur >>). |
rangeGte(column: keyof Row & string, range: string): this | Plage : filtre les plages qui ne s'étendent pas à gauche de range (opérateur &>). |
rangeLt(column: keyof Row & string, range: string): this | Intervalle : filtre les plages situées strictement à gauche de range (opérateur <<). |
rangeLte(column: keyof Row & string, range: string): this | Plage : filtre les plages qui ne s'étendent pas à droite de range (opérateur &<). |
rangeAdjacent(column: keyof Row & string, range: string): this | Plage : filtre les plages adjacentes à range (opérateur -|-). |
isDistinct(column: keyof Row & string, value: unknown): this | Filtre les lignes où column est distinct de value, en traitant NULL comme une valeur (IS DISTINCT FROM). |
not(column: string, op: string, value: unknown): this | Annule un filtre : not('status', 'eq', 'done') est équivalent à status différent de done. |
filter(column: string, op: string, value: unknown): this | Ajoute un filtre avec un opérateur PostgREST brut (eq, gt, cs…), pour les cas non couverts par une méthode dédiée. |
match(query: Record<string, unknown>): this | Filtrer par égalité sur plusieurs colonnes en même temps : match({ a: 1, b: 2 }). |
textSearch(column: keyof Row & string, query: string, options?: { type?: 'plain' | 'phrase' | 'websearch'; config?: string; }): this | Recherche en texte intégral. options.type choisit la requête : 'plain', 'phrase' ou 'websearch' (sinon syntaxe native tsquery) ; options.config définit la configuration de la langue. |
likeAllOf(column: keyof Row & string, patterns: string[]): this | Filtre LIKE: la colonne doit correspondre à TOUS les modèles. |
likeAnyOf(column: keyof Row & string, patterns: string[]): this | Filtre LIKE: la colonne doit correspondre à AU MOINS UN des motifs. |
ilikeAllOf(column: keyof Row & string, patterns: string[]): this | Filtre ILIKE (insensible à la casse) : la colonne doit correspondre à TOUS les modèles. |
ilikeAnyOf(column: keyof Row & string, patterns: string[]): this | Filtre ILIKE (insensible à la casse) : la colonne doit correspondre à AU MOINS UN des modèles. |
#
Classe
AuraTransformBuilder
Modificateurs de sélection de colonnes, de tri, de pagination et de cardinalité (single/maybeSingle/count).
| Méthode | Descriptif |
|---|---|
select<Query extends string = '*', NewResultOne = GetResult<Schema, Row, RelationName, Relationships, Query, ClientOptions>>(columns?: Query, options?: SelectOptions): AuraFilterBuilder<Schema, Row, RelationName, Relationships, NewResultOne[], ClientOptions, ThrowOnError> | Sélectionnez les colonnes et intégrez éventuellement les ressources associées (parité PostgREST). |
order(column: string, directionOrOptions?: 'asc' | 'desc' | OrderOptions): this | Trier sur une colonne. |
limit(n: number): this | Limite le nombre de lignes renvoyées. |
offset(n: number): this | Ignore les premières lignes n (pagination par décalage). |
range(from: number, to: number): this | Pages par intervalle d'index [de, à] (inclus, base 0). |
cursor(cursor: string): this | Pagination du keyset : passer le next_cursor opaque de la page précédente (préférable à offset sur les grandes tables : stable, sans dup/skip). |
count(mode?: CountMode): this | Demande le nombre total de lignes correspondantes (par défaut 'exact' ou 'estimated'), renvoyées dans count. |
single<ResultOne = Result extends (infer U)[] ? U : Result>(): AuraPostgrestBuilder<ClientOptions, ResultOne, ThrowOnError> | Attend exactement une ligne et renvoie l'objet lui-même ; 0 ou plusieurs lignes donnent l'erreur PGRST116. |
maybeSingle<ResultOne = Result extends (infer U)[] ? U : Result>(): AuraPostgrestBuilder<ClientOptions, ResultOne | null, ThrowOnError> | Comme single(), mais 0 ligne n'est pas une erreur : data est alors null. |
#
Classe
AuraPostgrestBuilder
Classe de base : état partagé, constructeur, exécution HTTP (then/_execute), throwOnError et buildQueryString.
| Méthode | Descriptif |
|---|---|
throwOnError(): this | Lève une exception (au lieu de renvoyer { error }) lorsque la requête échoue. |
buildQueryString(): string | Construit la chaîne de requête PostgREST (sélection, filtres, tri, pagination) sans exécuter la requête ; utile pour le débogage. |
then<TResult1 = AuraResponse<Result>, TResult2 = never>(onfulfilled?: ((value: AuraResponse<Result>) => TResult1 | PromiseLike<TResult1>) | null, onrejected?: ((reason: unknown) => TResult2 | PromiseLike<TResult2>) | null): Promise<TResult1 | TResult2> | Exécute la requête : le builder est « thenable », un simple await suffit. |
Page générée
Cette page est générée à partir des déclarations de type et des commentaires du SDK, elle ne peut donc pas dériver du code publié. Pour des exemples concrets, lisez les guides.
Dernière mise à jour · 12 oct. 2026