Module: PgSaurus::ConnectionAdapters::Table::TriggerMethods

Included in:
PgSaurus::ConnectionAdapters::Table
Defined in:
lib/pg_saurus/connection_adapters/table/trigger_methods.rb

Overview

Provides methods to extend ActiveRecord::ConnectionAdapters::Table to support database triggers.

Instance Method Summary collapse

Instance Method Details

#create_trigger(proc_name, event, options = {}) ⇒ Object

Creates a trigger.

Example:

change_table :pets do |t|
  t.create_trigger :pets_not_empty_trigger_proc,
                   'AFTER INSERT',
                   for_each: 'ROW',
                   schema: 'public',
                   constraint: true,
                   deferrable: true,
                   initially_deferred: true
end


18
19
20
# File 'lib/pg_saurus/connection_adapters/table/trigger_methods.rb', line 18

def create_trigger(proc_name, event, options = {})
  @base.create_trigger(@name, proc_name, event, options)
end

#remove_trigger(proc_name, options = {}) ⇒ Object

Removes a trigger.

Example:

change_table :pets do |t|
  t.remove_trigger :pets_not_empty_trigger_proc
end


29
30
31
# File 'lib/pg_saurus/connection_adapters/table/trigger_methods.rb', line 29

def remove_trigger(proc_name, options = {})
  @base.remove_trigger(@name, proc_name, options)
end