← ClaudeAtlas

sqlmodel-crudlisted

Use when creating SQLModel database models, CRUD operations, queries with joins, or relationships. NOT when non-database operations, plain SQL, or unrelated data handling. Triggers: "SQLModel", "database model", "CRUD", "create/read/update/delete", "query", "ForeignKey", "relationship".
aiskillstore/marketplace · ★ 329 · AI & Automation · score 79
Install: claude install-skill aiskillstore/marketplace
# SQLModel CRUD Skill ## Overview Expert guidance for SQLModel database models and CRUD operations, including Pydantic integration, async session management, query building with joins, and relationship configuration for ERP entities like Student, Fee, and Attendance. ## When This Skill Applies This skill triggers when users request: - **Models**: "Student model", "SQLModel", "database model", "table=True" - **CRUD Operations**: "Create student", "Read fees", "Update attendance", "Delete record" - **Query Building**: "Query with join", "select statement", "where clause", "pagination" - **Relationships**: "ForeignKey", "back_populates", "relationship", "linked models" - **Validation**: "Pydantic validators", "field constraints", "indexes" ## Core Rules ### 1. Models: table=True with Pydantic Validation ```python # models/student.py from sqlmodel import SQLModel, Field, Relationship from datetime import datetime from typing import Optional, List from enum import Enum class StudentRole(str, Enum): STUDENT = "student" TEACHER = "teacher" ADMIN = "admin" class Student(SQLModel, table=True): """Student model with relationships to fees and attendance""" id: Optional[str] = Field(default=None, primary_key=True) name: str = Field(min_length=2, max_length=100, index=True) email: str = Field(unique=True, index=True) phone: Optional[str] = Field(default=None, pattern=r'^\+?[\d\s-]+$') password_hash: str role: StudentRole = Field(default=Stu