monolayer / schema / TriggerOptions
Type Alias: TriggerOptions<T>
TriggerOptions<
T>:object
Type Parameters
| Type Parameter |
|---|
T extends string | undefined |
Type declaration
columns?
optionalcolumns:T[]
Target columns for update of events.
condition?
optionalcondition:RawBuilder<string>
A Boolean expression that determines whether the trigger function will actually be executed.
events?
optionalevents: ("insert"|"update"|"delete"|"truncate"|"update of")[]
The event that will fire the trigger. Multiple events can be specified.
insert: the trigger is fired on insert events.update: the trigger is fired on update events.delete: the trigger is fired on delete events.truncate: the trigger is fired on truncate events.update of: the trigger is fired on update events that affect the specified columns.
For update of events, you need to specify a list of columns in the columns property. The trigger will only fire if at least one of the listed columns is mentioned as a target of the update or if one of the listed columns is a generated column that depends on a column that is the target of the update.
fireWhen
fireWhen:
"before"|"after"|"instead of"
Controls when the trigger function is called.
before: The function is called before the event.after: The function is called after the event.instead of: The function is called instead of the event.
forEach
forEach:
"row"|"statement"
Controls whether the trigger function should be fired once for every row affected by the trigger event, or just once per SQL statement.
function
function:
object
Function which is executed when the trigger fires. Options:
name: The name of the function.args: Arguments to pass to the function.
function.args?
optionalargs: (string|RawBuilder<unknown>)[]
List of arguments to pass to the function. When referencing columns, use the sql helper.
function.name
name:
string
The name of the function.
referencingNewTableAs?
optionalreferencingNewTableAs:string
Relation name that the trigger can use to access the after-image transition relation (row sets that include all of the rows inserted, deleted, or modified by the current SQL statement).
Allows triggers to see a global view of what the statement did, not just one row at a time.
referencingOldTableAs?
optionalreferencingOldTableAs:string
Relation name that the trigger can use to access the before-image transition relation (row sets that include all of the rows inserted, deleted, or modified by the current SQL statement).
Allows triggers to see a global view of what the statement did, not just one row at a time.