sqlmeta.objects.trigger

Trigger SQL Model.

Represents a database trigger with its definition, timing, and events.

Classes

Trigger(name, table_name[, schema, timing, ...])

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

__str__() str[source]

Return string representation of the trigger.

__eq__(other: Any) bool[source]

Check if two triggers are equal.

Parameters:

other – Other object to compare

Returns:

True if triggers are equal

__repr__() str[source]

Return detailed representation of the trigger.

classmethod from_dict(data: Dict[str, Any]) Trigger[source]

Create trigger from dictionary representation.

Parameters:

data – Dictionary with trigger attributes

Returns:

Trigger object

to_dict() Dict[str, Any][source]

Convert trigger to dictionary representation.

Returns:

Dictionary with trigger attributes