おもしろwebサービス開発日記

Ruby や Rails を中心に、web技術について書いています

seed-do v3.2.0をリリースしました

先程 seed-do v3.2.0をリリースしました。変更内容は内部改善のみです。詳細は以下のリンクからどうぞ。

Release v3.2.0 · willnet/seed-do

seed-doの改善モチベがあがってきた

以前のエントリではseed-doのメンテナンス方針に関して次のように書いていました。

僕はseed-doを直接は使ってないので新規の機能開発に意欲はないのですが、今後も新しいRubyやRailsでちゃんと動くようにするモチベはある

しかしお手伝い先でまあまあヘビーにseed-doを使っているのをみて、seed-doを改善すると改善しただけ開発やテストが捗るだろうな〜という気持ちになってきました。特に速度を改善するとCIが速くなってお財布に優しい。というわけでモチベーションが少しあがってきたので、次カッとなったときに改善しやすいように目についたところを直した、というのがv3.2.0リリースの内情です。

seed-doの速度改善案

seed-doは素朴に一つずつモデルを永続化しているスタイルなので、bulk insertができると速くなるのは間違いなさそうです。なのでSeedDo.bulk_seedのようなメソッドを新設して、そこからseedを実行した場合はbulk insertになるようにしてあげると良いんじゃないかな〜と想像しているところです。ポイントは既存のdb/fixtures/**.rbは一行も変えなくても良いというところ。

しかし今どきAI Agentで機械的な書き換えは比較的容易にできるので、わざわざseed-do側で頑張らなくても各自AI Agentでseed-doをRailsのupsert_allを使う形で置き換えればいいのでは?という気持ちもあります。どうでしょうね。ご意見お待ちしてます。