Connections
Connection types:
- Knex
Knex
Properties
client: enum: Required - Should bemysqlto connect to MySQL.connection: object | string: Required - Connection object or string to pass to themysqldatabase client.version: string: Set database version.useNullAsDefault: boolean: If true, undefined keys are replaced with NULL instead of DEFAULT.
Examples
Connection Object:
connections:
- id: mysql
type: Knex
properties:
client: mysql
connection:
host:
_secret: MYSQL_HOST
user:
_secret: MYSQL_USER
database:
_secret: MYSQL_DB
password:
_secret: MYSQL_PASSWORDEnvironment variables:
LOWDEFY_SECRET_MYSQL_HOST = database.server.com
LOWDEFY_SECRET_MYSQL_DB = db
LOWDEFY_SECRET_MYSQL_USER = user
LOWDEFY_SECRET_MYSQL_PASSWORD = passwordConnection string:
connections:
- id: mysql
type: Knex
properties:
client: mysql
connection:
_secret: MYSQL_CONNECTION_STRINGEnvironment variables:
LOWDEFY_SECRET_MYSQL_CONNECTION_STRING = mysql://user:password@database.server.com/dbRequests
Request types:
- KnexBuilder
- KnexRaw
KnexBuilder
Properties
query: object[]: Required - SQL query builder array. An array of objects, with a single key which is the name of the knex builder function. The value should be an array of arguments to pass to the builder function.tableName: string | object: The name of the table to query from.
Examples
Build a query:
id: knexBuilder
type: KnexBuilder
connectionId: knex
properties:
query:
- select:
- '*'
- from:
- users
- where:
- name
- _state: nameUsing tableName:
id: knexBuilder
type: KnexBuilder
connectionId: knex
properties:
tableName: users
query:
- select:
- '*'
- where:
- name
- _state: nameAliases:
id: knexBuilder
type: KnexBuilder
connectionId: knex
properties:
tableName:
a: tableA
b: tableB
query:
- select:
- aField: 'a.field'
- bField: 'b.field'
- limit:
- 1KnexRaw
Properties
query: string: Required - SQL query string.parameters: string | number | array | object: SQL query parameters.
Examples
Simple raw query:
id: knexRaw
type: KnexRaw
connectionId: knex
properties:
query: SELECT * FROM "my_table";Query with named parameters:
id: knexRaw
type: KnexRaw
connectionId: knex
properties:
query: select * from users where name = :name
parameters:
name:
_state: selected_nameQuery with positional parameters:
id: knexRaw
type: KnexRaw
connectionId: knex
properties:
query: select * from users where name = ?
parameters:
- _state: selected_nameReference a .sql file:
id: knexRaw
type: KnexRaw
connectionId: knex
properties:
query:
_ref: my_query.sql