ユーザーテーブルのシードデータを生成する
名前、メールアドレス、タイムスタンプを含むusersテーブルのリアルなINSERT文を生成する方法を学びます。SQLの例を含むステップバイステップガイド。
Basic Usage
詳細な説明
ユーザーテーブルのシーディング
usersテーブルは、データベースシーディングの最も一般的な出発点です。シードジェネレーターはカラムの命名規則を認識し、各フィールドに文脈に適したフェイクデータを生成します。
スキーマの例
CREATE TABLE users (
id SERIAL PRIMARY KEY,
first_name VARCHAR(100) NOT NULL,
last_name VARCHAR(100) NOT NULL,
email VARCHAR(255) NOT NULL UNIQUE,
age INTEGER,
is_active BOOLEAN DEFAULT TRUE,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
ジェネレーターが生成するデータ
| カラム | 生成されるデータ |
|---|---|
id |
オートインクリメント(1, 2, 3, ...)— INSERTでは省略 |
first_name |
リアルな名前(例:"James"、"Emily") |
last_name |
リアルな姓(例:"Johnson"、"Garcia") |
email |
james.johnson42@gmail.comのようなフォーマットされたメール |
age |
18〜80のランダムな整数 |
is_active |
ランダムなTRUE/FALSE値 |
created_at |
2020〜2025のランダムなタイムスタンプ |
カラム名ヒューリスティック
ジェネレーターは部分文字列マッチングを使用してカラム名をデータカテゴリにマッチさせます。例えば、名前に"email"を含むカラムは、email、user_email、contact_emailのいずれであってもメールジェネレーターを起動します。同様に、first_name、firstname、fnameはすべて名前ジェネレーターを起動します。
オートインクリメントの処理
SERIAL、AUTO_INCREMENT、BIGSERIALとマークされたカラムは、データベースが値を割り当てるため、INSERT文のカラムリストから自動的に除外されます。これによりデータベース管理のシーケンスとの競合を防ぎます。
ユースケース
新しいWebアプリケーションを構築しており、認証フロー、ユーザープロフィールページ、管理ダッシュボードを検証するために開発データベースにテストユーザーが必要です。UIを通じて手動でアカウントを作成する代わりに、リアルなユーザーレコードでデータベースを直接シードします。