Logo Aurabase
aurabasedocuments
documents›JavaScript SDK reference›Database reference

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éthodeDescriptif
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éthodeDescriptif
insert(body: Relation extends { Insert: infer I; } ? I | I[] : never): thisInsè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éthodeDescriptif
eq<C extends keyof Row & string>(column: C, value: Row[C]): thisFiltre les lignes où column est égal à value.
neq<C extends keyof Row & string>(column: C, value: Row[C]): thisFiltre les lignes où column est différent de value.
gt<C extends keyof Row & string>(column: C, value: Row[C]): thisFiltre les lignes où column est strictement supérieur à value.
gte<C extends keyof Row & string>(column: C, value: Row[C]): thisFiltre les lignes où column est supérieur ou égal à value.
lt<C extends keyof Row & string>(column: C, value: Row[C]): thisFiltre les lignes où column est strictement inférieur à value.
lte<C extends keyof Row & string>(column: C, value: Row[C]): thisFiltre les lignes où column est inférieur ou égal à value.
like(column: keyof Row & string, pattern: string): thisFiltrer par modèle LIKE, sensible à la casse (% remplace une séquence de caractères).
ilike(column: keyof Row & string, pattern: string): thisFiltrer par modèle ILIKE, insensible à la casse.
is(column: keyof Row & string, value: 'null' | 'true' | 'false' | 'unknown' | 'not.null'): thisFiltre IS NULL ou IS NOT NULL.
in<C extends keyof Row & string>(column: C, values: Row[C][]): thisFiltre les lignes dont column est l'un des values.
or(filters: Array<{ column: string; op: string; value: unknown; }>): thisAjouter un groupe OR : or=(col1.eq.val1,col2.gt.val2)
notIn<C extends keyof Row & string>(column: C, values: Row[C][]): thisFiltre les lignes où column n'est égal à aucun des values.
contains(column: keyof Row & string, value: unknown): thisFiltre les lignes dont la colonne (table, JSON ou plage) contient value (opérateur @>).
containedBy(column: keyof Row & string, value: unknown): thisFiltre les lignes dont la colonne (tableau, JSON ou plage) est contenue dans value (opérateur <@).
overlaps(column: keyof Row & string, value: unknown): thisFiltre 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): thisIntervalle : filtre les plages situées strictement à droite de range (opérateur >>).
rangeGte(column: keyof Row & string, range: string): thisPlage : filtre les plages qui ne s'étendent pas à gauche de range (opérateur &>).
rangeLt(column: keyof Row & string, range: string): thisIntervalle : filtre les plages situées strictement à gauche de range (opérateur <<).
rangeLte(column: keyof Row & string, range: string): thisPlage : filtre les plages qui ne s'étendent pas à droite de range (opérateur &<).
rangeAdjacent(column: keyof Row & string, range: string): thisPlage : filtre les plages adjacentes à range (opérateur -|-).
isDistinct(column: keyof Row & string, value: unknown): thisFiltre les lignes où column est distinct de value, en traitant NULL comme une valeur (IS DISTINCT FROM).
not(column: string, op: string, value: unknown): thisAnnule un filtre : not('status', 'eq', 'done') est équivalent à status différent de done.
filter(column: string, op: string, value: unknown): thisAjoute 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>): thisFiltrer 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; }): thisRecherche 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[]): thisFiltre LIKE: la colonne doit correspondre à TOUS les modèles.
likeAnyOf(column: keyof Row & string, patterns: string[]): thisFiltre LIKE: la colonne doit correspondre à AU MOINS UN des motifs.
ilikeAllOf(column: keyof Row & string, patterns: string[]): thisFiltre ILIKE (insensible à la casse) : la colonne doit correspondre à TOUS les modèles.
ilikeAnyOf(column: keyof Row & string, patterns: string[]): thisFiltre 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éthodeDescriptif
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): thisTrier sur une colonne.
limit(n: number): thisLimite le nombre de lignes renvoyées.
offset(n: number): thisIgnore les premières lignes n (pagination par décalage).
range(from: number, to: number): thisPages par intervalle d'index [de, à] (inclus, base 0).
cursor(cursor: string): thisPagination 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): thisDemande 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éthodeDescriptif
throwOnError(): thisLève une exception (au lieu de renvoyer { error }) lorsque la requête échoue.
buildQueryString(): stringConstruit 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