Skip to content

Interface: QueryClientContract

Shape of the query client, that is used to retrieve instances of query builder

Properties

PropertyModifierTypeDescription
connectionNamereadonlystringThe name of the connection from which the client was originated
debugpublicbooleanIs debug enabled on the connection or not. Also opens up the API to disable debug for a given client
dialectreadonlyDialectContractThe database dialect in use
emitterpublicEmitter<any>-
frompublicFromTable<DatabaseQueryBuilderContract<any>>Same as query(), but also selects the table for the query. The from method doesn't allow defining the return type and one must use query to define that.
isTransactionreadonlybooleanTells if client is a transaction client or not
modereadonly"dual" | "write" | "read"The client mode in which it is execute queries
schemapublicSchemaBuilderReturns schema instance for the write client
tablepublic<ReturnColumns>(table: string) => InsertQueryBuilderContract<ReturnColumns[]>Same as insertQuery(), but also selects the table for the query. The table method doesn't allow defining the return type and one must use insertQuery to define that.
transactionpublicTransactionFnGet instance of transaction client

Methods

columnsInfo()

Call Signature

ts
columnsInfo(table: string): Promise<{
[column: string]: ColumnInfo;
}>;

Returns columns info for a given table

Parameters
ParameterType
tablestring
Returns

Promise<{ [column: string]: ColumnInfo; }>

Call Signature

ts
columnsInfo(table: string, column: string): Promise<ColumnInfo>;
Parameters
ParameterType
tablestring
columnstring
Returns

Promise<ColumnInfo>


dropAllDomains()

ts
dropAllDomains(schemas?: string[]): Promise<void>;

Drop all domains inside the database

Parameters

ParameterType
schemas?string[]

Returns

Promise<void>


dropAllTables()

ts
dropAllTables(schemas?: string[]): Promise<void>;

Drop all tables inside database

Parameters

ParameterType
schemas?string[]

Returns

Promise<void>


dropAllTypes()

ts
dropAllTypes(schemas?: string[]): Promise<void>;

Drop all types inside the database

Parameters

ParameterType
schemas?string[]

Returns

Promise<void>


dropAllViews()

ts
dropAllViews(schemas?: string[]): Promise<void>;

Drop all views inside the database

Parameters

ParameterType
schemas?string[]

Returns

Promise<void>


getAdvisoryLock()

ts
getAdvisoryLock(key: string | number, timeout?: number): Promise<boolean>;

Work with advisory locks

Parameters

ParameterType
keystring | number
timeout?number

Returns

Promise<boolean>


getAllDomains()

ts
getAllDomains(schemas?: string[]): Promise<string[]>;

Returns an array of all domain names

Parameters

ParameterType
schemas?string[]

Returns

Promise<string[]>


getAllTables()

ts
getAllTables(schemas?: string[]): Promise<string[]>;

Get all tables of the database

Parameters

ParameterType
schemas?string[]

Returns

Promise<string[]>


getAllTypes()

ts
getAllTypes(schemas?: string[]): Promise<string[]>;

Returns an array of all types names

Parameters

ParameterType
schemas?string[]

Returns

Promise<string[]>


getAllViews()

ts
getAllViews(schemas?: string[]): Promise<string[]>;

Returns an array of all views names for one or many schemas

Parameters

ParameterType
schemas?string[]

Returns

Promise<string[]>


getReadClient()

ts
getReadClient(): Knex<any, any>;

Returns the read and write clients

Returns

Knex<any, any>


getWriteClient()

ts
getWriteClient(): Knex<any, any>;

Returns

Knex<any, any>


insertQuery()

ts
insertQuery<ReturnColumns>(): InsertQueryBuilderContract<ReturnColumns[]>;

Get new query builder instance inserts

Type Parameters

Type ParameterDefault type
ReturnColumnsany

Returns

InsertQueryBuilderContract<ReturnColumns[]>


knexQuery()

ts
knexQuery(): QueryBuilder;

Returns the knex query builder instance

Returns

QueryBuilder


knexRawQuery()

ts
knexRawQuery(sql: string, bindings?: RawQueryBindings): Raw;

Returns the knex raw query builder instance

Parameters

ParameterType
sqlstring
bindings?RawQueryBindings

Returns

Raw


modelQuery()

ts
modelQuery<T, Result>(model: T): ModelQueryBuilderContract<T, Result>;

Returns the query builder for a given model

Type Parameters

Type ParameterDefault type
T extends LucidModel-
ResultT

Parameters

ParameterType
modelT

Returns

ModelQueryBuilderContract<T, Result>


query()

ts
query<Result>(): DatabaseQueryBuilderContract<Result>;

Get new query builder instance for select, update and delete calls

Type Parameters

Type ParameterDefault type
Resultany

Returns

DatabaseQueryBuilderContract<Result>


raw()

ts
raw(sql: string, bindings?: RawQueryBindings): RawBuilderContract;

Returns instance of raw builder

Parameters

ParameterType
sqlstring
bindings?RawQueryBindings

Returns

RawBuilderContract


rawQuery()

ts
rawQuery<Result>(sql: string, bindings?: RawQueryBindings): RawQueryBuilderContract<Result>;

Get raw query builder instance

Type Parameters

Type ParameterDefault type
Resultany

Parameters

ParameterType
sqlstring
bindings?RawQueryBindings

Returns

RawQueryBuilderContract<Result>


ref()

ts
ref(reference: string): ReferenceBuilderContract;

Returns instance of reference builder

Parameters

ParameterType
referencestring

Returns

ReferenceBuilderContract


releaseAdvisoryLock()

ts
releaseAdvisoryLock(key: string | number): Promise<boolean>;

Parameters

ParameterType
keystring | number

Returns

Promise<boolean>


truncate()

ts
truncate(table: string, cascade?: boolean): Promise<void>;

Truncate a given table

Parameters

ParameterType
tablestring
cascade?boolean

Returns

Promise<void>