Design data models, database schemas, and ORM definitions.
Process
Identify context:
-
Identify the database technology (Postgres, MySQL, SQLite, Mongo, etc.)
-
Identify the ORM/Framework (Prisma, TypeORM, SQLAlchemy, Django, etc.)
-
Understand the entity relationships (1:1, 1:N, M:N)
Research and design:
-
Lookup framework best practices for defining models and relationships (use WebSearch/WebFetch)
-
Design the schema/entity relationship considering scalability and normalization
Execute based on goal:
-
New Schema: Generate SQL DDL or ORM model definitions
-
Modification: Analyze current schema vs desired state, generate migration steps
-
Validation: Check for normalization issues or N+1 query risks in relationships
Output
-
Schema Design (ER Diagram description or Model code)
-
Migration Plan (SQL or CLI commands)
-
Rationale (Why these types/indices were chosen)