Repolode
supabase-community

supabase-community/seed

Seedはスキーマをもとに本番環境に近いダミーデータを自動生成し、開発・テスト用のデータベースに投入します。

スター
788
フォーク
37
未解決の Issue
25
最終コミット
先月

これは何?

Seedは、データベースのスキーマをもとに現実的なダミーデータを生成するTypeScriptツールです。カラムの値を自動で決めるため、開発者は必要な値だけを指定すればよく、国の一覧や通貨コードなどの参照データも標準で追加されます。

関連するレコードも自動で作成されるので、データを定義する際にテーブルをまたいで外部キーのIDを管理する必要はありません。Seedはデータベースの構造から型安全なTypeScriptクライアントを生成し、TypeScriptやNode.jsのエコシステムを活用してシードデータを記述できます。データ生成にはCopycatを使用し、決定的に生成されるため、同じ入力からは常に同じ出力が得られ、繰り返し実行するテストに適しています。

オプションとして、LLM(OpenAIまたはGroqのAPIキー経由)を使ってテキストカラムの値の例を生成できます。生成した例は編集可能なJSONファイルに保存され、syncコマンドを実行すると、更新されたカラムの説明をもとに再生成されます。

主な機能

  • 01データベースのスキーマからカラムの値を自動で推定します。
  • 02IDを手動で管理せずに関連レコードを作成します。
  • 03データベースの構造から型安全なTypeScriptクライアントを生成します。
  • 04テストを繰り返し実行できる、決定的なデータ生成を行います。
  • 05OpenAIまたはGroqを通じて、テキストカラムの値の例をLLMで任意に生成できます。

ユースケース

  • ローカル開発用データベースに現実的なデータを投入する。
  • 自動テスト用の一貫したフィクスチャを作成する。
  • LLMを使ってテキストカラムの値の例を生成する。

クイックスタート

  1. 1

    init コマンドを実行して Seed を試してみましょう

    npx @snaplet/seed init

使う前に知っておきたいこと

  • AI 生成のサンプルには OpenAI または Groq の API キーが必要です。
  • コントリビューションの環境構築には Nix と devenv が必要で、セットアップにかなり手間がかかります。

収録されている特集

トピック

よくある質問

seed とは?
Seedはスキーマをもとに本番環境に近いダミーデータを自動生成し、開発・テスト用のデータベースに投入します。 Seedは、データベースのスキーマをもとに現実的なダミーデータを生成するTypeScriptツールです。カラムの値を自動で決めるため、開発者は必要な値だけを指定すればよく、国の一覧や通貨コードなどの参照データも標準で追加されます。
seed は無料で使えますか?ライセンスは?
seed は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
seed は今もメンテナンスされていますか?
半年以内に更新あり。seed の最終コミットは 2026年10月1日 です。
seed は何に使えますか?
ローカル開発用データベースに現実的なデータを投入する。 自動テスト用の一貫したフィクスチャを作成する。 LLMを使ってテキストカラムの値の例を生成する。
seed のインストール方法は?
init コマンドを実行して Seed を試してみましょう: npx @snaplet/seed init
seed はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/supabase-community/seed

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト