「drizzle-factory」を入れたら、関連レコードを手で作らなくてよくなった
- 公開
- 正式公開 2025-03-03
- 作り手
- PrAha, Inc.(会社)
- 対応
- npm ライブラリ(TypeScript)
- 価格
- 無料(MIT ライセンス)
- 評価
- GitHub のスター 77(2026-10-23)
どんなアプリか
Drizzle ORM で使うデータベースのレコードを作るためのライブラリです。defineFactory という関数に、スキーマ、テーブル、データの作り方を決める関数(resolver)を渡してファクトリーを定義します。README の例は PostgreSQL 用のモジュールで書かれていて、MySQL など別のデータベースでは読み込むモジュールを差し替えるよう注記があります。
定義したファクトリーの create を呼ぶと、レコードを作ってデータベースに書き込みます。レコードは単独でも、件数を指定してまとめてでも作れ、特定の値を指定して作ることもできます。ファクトリーごとに、レコードを作るたびに増える sequence という番号を持っていて、テストケースの合間などに resetSequence で戻せます。
resolver の中で use を使うと、ほかのファクトリーを呼び出して関連するレコードを自動で作れます。README の例では、投稿を作るときに userId を渡さなければ、ユーザーのレコードも一緒に作られます。
trait でファクトリーの変化形を定義したり、composeFactory で複数のファクトリーをまとめたりもできます。
Seeds allow you to define reusable data sets that can be used across your tests or development environment.
PrAha, Inc.、GitHub の README「Using Seeds」
シード(seeds)は、テストや開発環境で繰り返し使うデータの組を定義する仕組みです。シードはオブジェクトでも、オブジェクトの配列でも返せ、use を通してほかのファクトリーのシードも参照できます。
料金とデータの置き場所
MIT ライセンスで公開されているオープンソースのライブラリで、npm からインストールして使います。
同じ分野のアプリ
| 名前 | 型 | 仕掛け | 対応 | 料金 |
|---|---|---|---|---|
| @praha/drizzle-factory | テストデータ | Drizzle ORM のレコードを作るファクトリーを定義できる | npm ライブラリ(TypeScript) | 無料(OSS, MIT) |
| byethrow | エラー処理 | 例外を投げずにエラーを扱う、軽量でツリーシェイク可能な Result 型 | npm ライブラリ | 無料(OSS, MIT) |
| routopia | URL 構築 | ルート定義をもとに、パスパラメータ・クエリを型で縛って URL を構築 | TypeScript ライブラリ | 無料(OSS, MIT) |
| cc-hooks-ts | 型定義 | Claude Code のフックを TypeScript で型安全に定義 | npm ライブラリ | 無料(OSS, MIT) |