seed-do v3.2.0をリリースしました - おもしろwebサービス開発日記 で書いていた速度改善案を実装してv4.0.0としてリリースしました。
SeedDo.seed(bulk: true)とするとRailsのupsert_allを使用して一括でレコードをUPSERTできるようにしました。
PRはこちら
大半の人は、単にSeedDo.seedをSeedDo.seed(bulk: true)に置換するだけでseedの実行が速くなるんじゃないかな、と期待しています。ただし upsert_allの:unique_byオプションを利用している関係でPostgreSQLとSQLiteでしか利用できません。MySQLユーザの人はごめんなさい。
また、この機能を入れるにあたって内部APIの整理をした関係で非互換が発生したのでメジャーバージョンアップをしています。内部APIを使ってなければ関係ないはず。
利用してみて、何か感想などあれば教えてもらえると嬉しいです。