Search code examples
mysqltriggersdatamapper

Creating MySQL triggers using DataMapper


I've been trying to search and figure this on my own, but no luck so far :(

I'd like to create MySQL triggers using DataMapper (or any other Ruby db adapter). Is this possible?

I'd really like to have the triggers become part of my code versioning (for documentation and maintenance).


Solution

  • Simply execute arbitrary SQL in your migrations

    migration 1, :create_people_table do
      up do
        execute 'CREATE TRIGGER ...'
      end
      down do
        execute 'DROP TRIGGER ...'
      end
    end
    

    Of course, it won't be terribly portable.

    http://rubydoc.info/gems/dm-migrations/1.1.0/DataMapper/Migration:execute