Rails 1.2.x になって Plugin と Engines の関係がよくわからなくなった。自分の作りたいものは Plugin でできるのか Engine になるのか、Engine の力を借りてつくる Plugin になるのか。

とりあえず現在進行形なのでこちらにメモを。環境は Ruby 1.8.6 + Rails 1.2.3。

!!Plugin を作る

 >ruby script/generate plugin [plugin名]

!!Plugin で Migration を使えるようにする

まず、plugin_migration generator を使えるようにするためにrails1.2.x対応の engines を入れる。(名前的に rails に入っているものとおもったら違うのね・・)

 >ruby script/plugin discover
 >ruby script/plugin install engines

これで準備は完了。自分で目的のpluginフォルダのなかに db/migrate を作り migration ファイルを入れていく。

これをアプリケーション側の migration に取り入れたいタイミングで

 >ruby script/generate plugin_migration PLUGIN=plugin名

としてアプリ側のmigirationを自動生成する(のだと思われる)。