Skip to content

Relaciones

jsorm usa relation builders explícitos en lugar de metadata genérica.

  • t.belongsTo(Model)
  • t.hasOne(Model)
  • t.hasMany(Model)
  • t.manyToMany(Model)
const User = defineModel('users', {
id: t.number().primary(),
role: t.belongsTo(Role, {
onUpdate: 'cascade',
onDelete: 'restrict',
}),
profile: t.hasOne(Profile),
posts: t.hasMany(Post),
tags: t.manyToMany(Tag),
});
await db.update(User, {
data: {
role: { connect: 1 },
profile: {
create: { bio: 'Builder' },
},
tags: {
connect: [1, 2],
},
},
where: {
id: 1,
},
});
  1. Usa el relation builder que coincida con la forma real de los datos.
  2. Configura onUpdate y onDelete de forma intencional.
  3. Mantén las mutaciones de relaciones cerca de la operación de escritura.