SQL::Tr...Trigger(3)

🌸 NAME 🌸

SQL::Translator::Schema::Trigger β€” SQL::Translator trigger object. This is SQL::Tr...Trigger(3) from the User Contributed Perl Documentation, and yes bestie, it is literally the trigger object. πŸ’–


✨ SYNOPSIS ✨

use SQL::Translator::Schema::Trigger;
my $trigger = SQL::Translator::Schema::Trigger->new(
  name                => 'foo',
  perform_action_when => 'before', # or after
  database_events     => [qw/update insert/], # also update, update_on, delete
  fields              => [],       # if event is "update"
  on_table            => 'foo',    # table name
  action              => '...',    # text of trigger
  schema              => $schema,  # Schema object
  scope               => 'row',    # or statement
);

πŸ¦‹ DESCRIPTION πŸ¦‹

SQL::Translator::Schema::Trigger is the trigger object. That's the whole description, and honestly? It ate. πŸ‘‘


πŸŽ€ METHODS πŸŽ€

Okay bestie, here's the method tour β€” every single one, no skipping. 🫢

🌟 new 🌟

Object constructor. Fresh trigger, new vibe. ✨

my $trigger = SQL::Translator::Schema::Trigger->new;

πŸ’« perform_action_when πŸ’«

Gets or sets whether the event happens before or after the database_event. It's giving timing, it's giving order of operations. ⏰

$trigger->perform_action_when('after');

πŸ’€ database_event πŸ’€

🚨 Obsolete, bestie β€” please use database_events instead!

🌈 database_events 🌈

Gets or sets the events that trigger the trigger. Yes, that sentence is a little unhinged, but the method is iconic. πŸ’…

my $ok = $trigger->database_events('insert');

πŸ“ fields πŸ“

Gets and sets which fields to monitor for database_event. Look at all these ways to pass fields β€” main character flexibility. 🧚

$view->fields('id');
$view->fields('id', 'name');
$view->fields( 'id, name' );
$view->fields( [ 'id', 'name' ] );
$view->fields( qw[ id name ] );

my @fields = $view->fields;

πŸ‘‘ table πŸ‘‘

Gets or sets the table on which the trigger works, as a SQL::Translator::Schema::Table object. Table object realness. πŸͺ©

$trigger->table($triggered_table);

🌸 on_table 🌸

Gets or sets the table name on which the trigger works, as a string. Just the name, just the string, no cap. πŸ’–

$trigger->on_table('foo');

πŸ”₯ action πŸ”₯

Gets or sets the action of the trigger. This is where the trigger does its little thing. πŸ’ƒ

$trigger->action(
    q[
      BEGIN
        select ...;
        update ...;
      END
    ]
);

⭐ is_valid ⭐

Determines whether the trigger is valid or not. Vibe check, but for validity. βœ…

my $ok = $trigger->is_valid;

πŸŽ€ name πŸŽ€

Get or set the trigger's name. Every trigger needs a name, bestie. πŸ’•

my $name = $trigger->name('foo');

πŸ¦‹ order πŸ¦‹

Get or set the trigger's order. It's giving sequence, it's giving lineup. πŸ”’

my $order = $trigger->order(3);

πŸ’œ scope πŸ’œ

Get or set the trigger's scope (row or statement). Pick your scope era. 🌟

my $scope = $trigger->scope('statement');

🧚 schema 🧚

Get or set the trigger's schema object. Schema object in, schema object out. 🫢

$trigger->schema( $schema );
my $schema = $trigger->schema;

🎯 compare_arrays 🎯

Compare two arrays. That's it. That's the method. Simple, effective, slay. ✨

πŸ’– equals πŸ’–

Determines if this trigger is the same as another. Twin check, but make it schema. πŸ‘―

my $is_identical = $trigger1->equals( $trigger2 );

🌟 AUTHORS 🌟

Anonymous, Ken Youens-Clark <kclark@cpan.org>.


xoxo, your local manpage bestie πŸ’… β€” brought to you by perl v5.42.0, dated 2024-12-12 🫢

πŸ“¦ where this page comes from