Trackless Triggers

Add triggers and functions to your active record migrations. Based on Trigger Happy (tenderlovemaking.com/2007/03/01/trigger-happy.html)

INSTALL

Add this to your Gemfile:

gem ‘trackless_triggers’

EXAMPLE

Add a trigger:

add_trigger "ai_people",
  :on         => 'people',
  :timing     => 'after',
  :event      => 'insert',
  :statement  => 'INSERT INTO log (id, timestamp) VALUES (NEW.id, NOW())'

Update an existing trigger (drops then adds):

update_trigger "ai_people",
  :on         => 'people',
  :timing     => 'after',
  :event      => 'insert',
  :statement  => 'INSERT INTO log (id, timestamp) VALUES (NEW.id, NOW())'

Remove a trigger:

drop_trigger 'ai_people'

LIMITATIONS

Only works with mysql for now.