KnexDBDataProvider
Knex.js database data provider exposing basic CRUD operations that works with all databases that knex supports. Layer is tested with following databases:
- SQLite (by
SQLiteKnexDBDataProvider
) - MySQL (MariaDB)
- Postgres
NOTE: For SQLite use dedicated SQLiteKnexDBDataProvider
that implements more speficic creation method to avoid the not supported returning()
statement.
#
Type parameters▪ Type
#
HierarchyKnexDBDataProvider
#
Implements- GraphbackDataProvider‹Type›
#
Index#
Constructors#
Properties#
Methods#
Constructors#
constructor+ new KnexDBDataProvider(model
: ModelDefinition, db
: Knex): KnexDBDataProvider
Defined in KnexDBDataProvider.ts:21
Parameters:
Name | Type |
---|---|
model | ModelDefinition |
db | Knex |
Returns: KnexDBDataProvider
#
PropertiesProtected
db#
• db: Knex
Defined in KnexDBDataProvider.ts:18
Protected
queryBuilder#
• queryBuilder: CRUDKnexQueryMapper
Defined in KnexDBDataProvider.ts:21
Protected
tableMap#
• tableMap: ModelTableMap
Defined in KnexDBDataProvider.ts:20
Protected
tableName#
• tableName: string
Defined in KnexDBDataProvider.ts:19
#
Methods#
batchRead▸ batchRead(relationField
: string, ids
: string[], filter?
: QueryFilter, selectedFields?
: string[]): Promise‹Type[][]›
Defined in KnexDBDataProvider.ts:97
Parameters:
Name | Type |
---|---|
relationField | string |
ids | string[] |
filter? | QueryFilter |
selectedFields? | string[] |
Returns: Promise‹Type[][]›
#
count▸ count(filter?
: QueryFilter): Promise‹number›
Defined in KnexDBDataProvider.ts:90
Parameters:
Name | Type |
---|---|
filter? | QueryFilter |
Returns: Promise‹number›
#
create▸ create(data
: Type, selectedFields?
: string[]): Promise‹Type›
Defined in KnexDBDataProvider.ts:30
Parameters:
Name | Type |
---|---|
data | Type |
selectedFields? | string[] |
Returns: Promise‹Type›
#
delete▸ delete(data
: Partial‹Type›, selectedFields?
: string[]): Promise‹Type›
Defined in KnexDBDataProvider.ts:52
Parameters:
Name | Type |
---|---|
data | Partial‹Type› |
selectedFields? | string[] |
Returns: Promise‹Type›
#
findBy▸ findBy(args?
: FindByArgs, selectedFields?
: string[]): Promise‹Type[]›
Defined in KnexDBDataProvider.ts:74
Parameters:
Name | Type |
---|---|
args? | FindByArgs |
selectedFields? | string[] |
Returns: Promise‹Type[]›
#
findOne▸ findOne(args
: Partial‹Type›, selectedFields?
: string[]): Promise‹Type›
Defined in KnexDBDataProvider.ts:63
Parameters:
Name | Type |
---|---|
args | Partial‹Type› |
selectedFields? | string[] |
Returns: Promise‹Type›
Protected
getSelectedFields#
▸ getSelectedFields(selectedFields
: string[]): string[] | ""*
Defined in KnexDBDataProvider.ts:111
Parameters:
Name | Type |
---|---|
selectedFields | string[] |
Returns: string[] | ""*
#
update▸ update(data
: Partial‹Type›, selectedFields?
: string[]): Promise‹Type›
Defined in KnexDBDataProvider.ts:40
Parameters:
Name | Type |
---|---|
data | Partial‹Type› |
selectedFields? | string[] |
Returns: Promise‹Type›
Private
usePage#
▸ usePage(query
: QueryBuilder, page?
: GraphbackPage): QueryBuilder‹any, any›
Defined in KnexDBDataProvider.ts:115
Parameters:
Name | Type |
---|---|
query | QueryBuilder |
page? | GraphbackPage |
Returns: QueryBuilder‹any, any›