No deberías necesitar un doctorado en SQLAlchemy solo para definir una restricción UNIQUE compuesta o un ID autoincremental. wsqlite convierte la descripción del campo en SQL declarativo.
Así se implementa Declarative SQL Constraints in Pydantic Field en entornos reales con wsqlite:
from typing import Optional
from pydantic import BaseModel, Field
from wsqlite import WSQLite
class Employee(BaseModel):
id: Optional[int] = Field(None, description="primary autoincrement")
# Composite unique: department + position must be unique together
department: str = Field(..., description="unique:job_role")
position: str = Field(..., description="unique:job_role")
# Foreign key referencing company.id
company_id: int = Field(..., description="references:company.id")
db = WSQLite(Employee, "corp.db")
Por qué wsqlite marca la diferencia:
- Define tablas de base de datos usando modelos Pydantic v2 estándar.
- Sincroniza columnas automáticamente al iniciar sin migraciones manuales.
- Connection pool seguro multihilo con modo WAL por defecto (+5.000 inserts/seg).
- Soporte completo síncrono y asíncrono con async/await.
¡Visita el repositorio en GitHub!
Autor: William Steve Rodríguez Villamizar (Wisrovi)
Top comments (0)