Modelos
Modelos
Section titled “Modelos”Los modelos se definen con defineModel() y field builders desde t.
Ejemplo
Section titled “Ejemplo”import type { InferInput, InferModel } from 'jsorm';import { defineModel, t } from 'jsorm';
const User = defineModel('users', { id: t.number().primary(), name: t.string(), email: t.string().optional(), active: t.boolean().default(true), createdAt: t.date(),});
type UserRecord = InferModel<typeof User>;type UserInput = InferInput<typeof User>;Field builders soportados
Section titled “Field builders soportados”t.string()t.number()t.boolean()t.date()- builders de relación como
t.belongsTo()yt.hasMany()
Modificadores comunes
Section titled “Modificadores comunes”.optional().nullable().primary().default(value).unique().index()
Buenas prácticas
Section titled “Buenas prácticas”- Mantén nombres de tabla estables y explícitos.
- Coloca definiciones de relación junto a la intención real de foreign keys.
- Prefiere
InferModeleInferInputinferidos en lugar de interfaces manuales.