SuperAPI AI Directory

generating-database-seeder

Data & analytics

View repository

Updated 10-15 21:54

About this skill

Generating Database Seeder

Establish a clean, reproducible database state for development and verification.

[!IMPORTANT] DATABASE STRATEGY: Skip this skill if the modernization strategy is to use the existing legacy database directly. This tool is only for cases where you need a fresh dataset to test in isolation.

Objective

Generate a script that populates the modern database with sample records (Primary and Sub-resources) that satisfy the Zod validation rules and established relational integrity.

Workflow

  1. Analyze Schemas: Read the modern schemas (e.g., src/lib/models/schema.ts) to identify required fields, data types, and default values.
  2. Generate Realistic Samples: Create a set of sample data that covers:
    • Primary Resources: Users, Accounts, or root entities.
    • Sub-resources: Related items linked via ObjectId.
    • Edge Cases: Empty strings, long text, and various tag/category combinations.
  3. Implement Seeder: Create the seeder script (e.g., src/lib/db/seeder.ts).
    • Invariants: The script MUST clear existing collections before insertion to ensure a deterministic state.
    • Security: Hash passwords and sanitize inputs using the project's utility functions.
  4. Execute & Verify: Run the seeder (e.g., npm run db:seed) and confirm the records exist in the database with the correct structure.

Output

A functional seeding command and a populated database ready for Phase 5 verification.