sqlmeta.objects.trigger
Trigger SQL Model.
Represents a database trigger with its definition, timing, and events.
Classes
|
Represents a database trigger. |
- class sqlmeta.objects.trigger.Trigger(name: str, table_name: str, schema: str | None = None, timing: str | None = None, events: list[str] | None = None, orientation: str | None = None, definition: str | None = None, enabled: bool = True, dialect: str | None = None, definer: str | None = None)[source]
Represents a database trigger.
- __init__(name: str, table_name: str, schema: str | None = None, timing: str | None = None, events: list[str] | None = None, orientation: str | None = None, definition: str | None = None, enabled: bool = True, dialect: str | None = None, definer: str | None = None)[source]
Initialize a trigger.
- Parameters:
name – Trigger name
table_name – Name of the table the trigger is on
schema – Schema name (optional)
timing – When trigger fires (BEFORE, AFTER, INSTEAD OF)
events – List of events that fire the trigger (INSERT, UPDATE, DELETE, TRUNCATE)
orientation – Trigger level (ROW, STATEMENT)
definition – Trigger body/definition
enabled – Whether trigger is enabled
dialect – SQL dialect
definer – Definer user - user@host (MySQL grammar-based)
- property qualified_table_name: str
Get the qualified table name (schema.table).
- Returns:
Qualified table name
- property event_str: str
Get events as a formatted string.
- Returns:
Events joined by ‘ OR ‘ (e.g., ‘INSERT OR UPDATE’)
- property create_statement: str
Generate CREATE TRIGGER statement.
The syntax varies by dialect.
- Returns:
Dialect-specific CREATE TRIGGER statement
- __eq__(other: Any) bool[source]
Check if two triggers are equal.
- Parameters:
other – Other object to compare
- Returns:
True if triggers are equal