Skip to content
ln-723-mockdata-migrator logo

Ln 723 Mockdata Migrator

ln-723-mockdata-migrator

Migrates mock data from Drizzle ORM schemas to C# MockData classes

SKILL.md

Full skill instructions

ln-723-mockdata-migrator

Type: L3 Worker Category: 7XX Project Bootstrap Parent: ln-720-structure-migrator

Migrates mock data from ORM schemas to .NET MockData classes with realistic sample data.


Purpose & Scope

AspectDescription
InputORM schema files (Drizzle, Prisma, TypeORM)
OutputC# MockData static classes
Primary ORMDrizzle (others supported)

Scope boundaries:

  • Parses ORM schema definitions
  • Generates C# entities and MockData classes
  • Creates realistic sample data
  • Does not generate database migrations or EF Core configs

Workflow

PhaseNameActionsOutput
1Parse SchemaRead ORM file, extract table definitionsEntity model
2Map TypesApply type mapping rules, detect nullableC# type definitions
3Generate MockDataCreate static class, generate sample dataMockData.cs files
4VerifyCompile check, relationship validationValid C# code

Phase 1: Parse Schema

Extract entity definitions from ORM schema.

StepActionReference
1.1Locate schema file(s)—
1.2Identify ORM type (Drizzle/​Prisma/​TypeORM)Detect by syntax
1.3Extract table definitionsdrizzle_patterns.md
1.4Extract column definitionsdrizzle_patterns.md
1.5Identify constraints (PK, FK, nullable)drizzle_patterns.md
1.6Extract enum definitionsdrizzle_patterns.md

Output: Entity model with columns, types, and constraints.


Phase 2: Map Types

Convert ORM types to C# types.

StepActionReference
2.1Map column types to C#type_mapping.md
2.2Determine nullable statustype_mapping.md
2.3Identify primary keystype_mapping.md
2.4Map foreign keysrelationship_mapping.md
2.5Transform names (snake_case → PascalCase)drizzle_patterns.md

Type mapping summary:

ORM TypeC# TypeNullable Rule
uuidGuidNo (PK), Depends (FK)
varcharstringCheck .notNull()
integerintNo
booleanboolNo
timestampDateTimeDepends

Phase 3: Generate MockData

Create C# MockData class with sample data.

StepActionReference
3.1Create MockData classdata_generation.md
3.2Generate GUIDs for entitiesdata_generation.md
3.3Generate sample data per fielddata_generation.md
3.4Ensure FK relationships validrelationship_mapping.md
3.5Create accessor methodsdata_generation.md

Generation order by dependency:

OrderEntity TypeGenerate After
1Root entities (no FK)First
2First-level childrenParents exist
3Second-level childrenGrandparents exist
NDeepest childrenAll ancestors exist

Phase 4: Verify

Validate generated code.

CheckMethodExpected
Syntax validCompile checkNo errors
FKs validCross-referenceAll FKs point to existing IDs
Types correctType analysisProper C# types
Names follow conventionPattern checkPascalCase

Supported ORM Detection

ORMDetection Pattern
DrizzlepgTable(), mysqlTable(), sqliteTable()
Prismamodel X { syntax
TypeORM@Entity(), @Column() decorators

Entity Transformation Rules

SourceTargetTransformation
Table name (plural, snake)Class name (singular, Pascal)user_profiles → UserProfile
Column name (snake)Property name (Pascal)created_at → CreatedAt
Enum nameEnum type (Pascal)status_enum → StatusEnum
FK columnNavigation propertyuser_id → UserId

MockData Class Structure

ComponentPurpose
Private static listHolds immutable mock data
GetAll() methodReturns full list as IEnumerable
GetById(Guid id)Finds single entity by ID
GetBy{FK}Id(Guid id)Filters by foreign key

Sample Data Guidelines

Field TypeSample CountDistribution
Root entities3-5 itemsVaried status/​priority
Child entities5-10 itemsDistributed across parents
Leaf entities10-20 itemsRealistic variety

Critical Rules

  • Single Responsibility: Generate only MockData, no database code
  • Idempotent: Can re-run to regenerate
  • Valid Relationships: All FKs must reference existing parent IDs
  • Realistic Data: Use domain-appropriate values, not random strings
  • Generation Order: Parents before children
  • Consistent GUIDs: Use fixed GUIDs for reproducibility

Definition of Done

  • Schema file parsed successfully
  • All tables/​entities extracted
  • Type mappings applied correctly
  • MockData class generated per feature/​entity group
  • Sample data includes 5-10 items per entity
  • Foreign keys reference valid parent IDs
  • Accessor methods generated (GetAll, GetById)
  • Code compiles without errors

Risk Mitigation

RiskDetectionMitigation
Parse failureException during parseSupport multiple schema formats
Invalid type mappingUnknown ORM typeLog warning, use string as fallback
FK mismatchFK references non-existent IDGenerate parents first, validate after
Name collisionDuplicate class namesPrefix with feature name
Circular referencesSelf-referencing with cyclesLimit depth, validate graph

Reference Files

FilePurpose
references/​type_mapping.mdORM to C# type conversion rules
references/​drizzle_patterns.mdDrizzle schema parsing patterns
references/​data_generation.mdRealistic sample data patterns
references/​relationship_mapping.mdFK handling and generation order

Version: 2.0.0 Last Updated: 2026-01-10

More skills from majiayu000

xiaohongshu logo
majiayu000/claude-arsenal

xiaohongshu

xiaohongshu

286 148
View
agent-task-conductor logo
majiayu000/claude-skill-registry

agent-task-conductor

Conduct multi-agent task orchestration and workflow coordination.

663 1
View
conductor-setup logo
majiayu000/claude-skill-registry

conductor-setup

Initialize project with Conductor artifacts (product definition,

663 1
View
animation-designer logo
majiayu000/claude-skill-registry

animation-designer

Expert in web animations, transitions, and motion design using Framer Motion and CSS

663 1
View
diagramming logo
majiayu000/claude-skill-registry

diagramming

Creates Mermaid and ASCII diagrams for flowcharts, architecture, ERDs, state machines, mindmaps, and more. Use when user mentions diagram, flowchart, mermaid, ASCII diagram, text diagram, terminal diagram, visualize, C4, mindmap, architecture diagram, sequence diagram, ERD, or needs visual docume...

663 1
View
h3-pg logo
majiayu000/claude-skill-registry-data

h3-pg

PostgreSQL bindings for H3 hexagonal grid system. Use when working with H3 cells in Postgres, including spatial indexing, geometry/geography integration, and raster analysis.

23 1
View
conductor-development logo
majiayu000/claude-skill-registry

conductor-development

Context-Driven Development skill for projects using Conductor. Use this skill when you detect a `conductor/` directory in the project, when working on tasks defined in a `plan.md` file, or when the user asks about tracks, specs, or plans. Automatically applies TDD workflow, tracks task completion...

663 1
View
conductor-status logo
majiayu000/claude-skill-registry

conductor-status

Display project status, active tracks, and next actions

663 1
View
dockerization logo
majiayu000/claude-skill-registry

dockerization

Official Stakpak application containerization standard operating procedure, a step-by-step guidline to properly dockerize applications. This is a rule book curated by the Stakpak Team.

663 1
View

Popular AI tools

Kaiber logo
Video

Kaiber

Generate, edit, and beat-sync AI video with leading models in one workspace.

Paid
View
Vimcal logo
Productivity

Vimcal

The world's fastest calendar for remote work

Free
View

Transform Your Design with AI Designer by ImgCreator.ai

Freemium
View
Akool AI logo
Content & writing

Akool AI

Revolutionizing Video Production with AI-Powered Creativity

Paid
View

Extend an image past the frame and let AI fill the new aspect ratio.

Freemium
View
StarByFace logo
Security

StarByFace

Discover your celebrity doppelgänger with StarByFace!

Free
View
C

ChainClarity explains 700+ crypto whitepapers in plain English, with layered summaries, comparisons, research tools, alerts, and a $4.99 Pro plan.

Freemium
View
Opus Clip logo
Coding & apps

Opus Clip

Opus.ai: Revolutionize Your Web Experience

Free
View