Coding
PromptBeginner5 minmarkdown
Markdown Converter
Agent skill for markdown-converter
7
This skill should be used when defining a robust, type-safe, and async-compatible database schema for the Todo application using SQLModel, ensuring compatibility with Better Auth and optimized for PostgreSQL.
Sign in to like and favorite skills
This skill providing guidance on defining a robust database schema using SQLModel for the Todo application.
Defining a robust, type-safe, and async-compatible database schema for the Todo application using SQLModel, ensuring compatibility with Better Auth and optimized for PostgreSQL.
user_id and completed fields.created_at, updated_at).from sqlmodel import SQLModel, Field, Relationship from typing import List, Optional from datetime import datetime class User(SQLModel, table=True): id: str = Field(primary_key=True) email: str = Field(unique=True, index=True) name: Optional[str] = None created_at: datetime = Field(default_factory=datetime.utcnow) tasks: List["Task"] = Relationship(back_populates="user") class Task(SQLModel, table=True): id: Optional[int] = Field(default=None, primary_key=True) user_id: str = Field(foreign_key="user.id", index=True) title: str description: Optional[str] = None completed: bool = Field(default=False, index=True) created_at: datetime = Field(default_factory=datetime.utcnow) updated_at: datetime = Field(default_factory=datetime.utcnow) user: Optional[User] = Relationship(back_populates="tasks")
table=True for models that map to database tables.WHERE clauses (e.g., user_id, completed).datetime.utcnow for consistent cross-region timestamping.user_id as a string to match Better Auth's UUID/ID format.