migrationファイルにPROCEDUREを書く方法(Rails3)

Rails+MySQLな環境で、日時処理なんかでカラムの値を集計する場合、簡単な集計処理ならバッチを書かずにプロシージャに任せて、イベントスケジューラ実行、なんてことがあると思います。

Railsで開発してるとプロシージャもmigrationファイルに書く必要があると思うんですが、その備忘録

def up
execute "CREATE PROCEDURE hogehoge_summary()
    BEGIN
        プロシージャ本文
    END"
end

def down
    execute "DROP PROCEDURE IF EXISTS hogehoge_summary"
end

別に気を付ける部分もないと思うんですが、migrationのなかではデリミタ指定が使えないのと、そのせいでcreateとdrop if existsが一緒に書けないのでupとdownでわけないとダメでした。

うーん、rubyアイドルと恋に落ちたい。