Modelos
Un modelo describe la forma de un tipo de datos — un tipo. Pertenece a un schema y está formado por propiedades.
Propiedades
Cada propiedad tiene:
- Un nombre (por ejemplo,
email,birthDate,totalAmount). - Un tipo — texto, cadena localizada (un valor por idioma), entero, decimal, booleano, datetime, referencia a otro modelo, o una colección de cualquiera de ellos.
- Una descripción que explica el significado de la propiedad a humanos y agentes de IA.
- Un valor por defecto opcional.
- Opcionalmente, una expresión que hace la propiedad virtual (calculada en tiempo de lectura a partir de otras propiedades).
Para texto que leen los usuarios finales y que debería cambiar según el idioma de la interfaz — nombres, títulos, etiquetas — usa una cadena localizada en lugar de un texto normal (consulta Cadena localizada).
Restricciones
Más allá del tipo básico, las propiedades pueden llevar restricciones:
- Visualización — orden, visibilidad, indicador de solo lectura, layout
flex, agrupación en secciones. - Restricciones de texto — longitud mínima y máxima, patrones regex.
- Restricciones de entero — valores mínimo y máximo.
- Restricciones de datetime — momentos mínimo y máximo permitidos.
- Restricciones de referencia — a qué modelo apunta una referencia, cardinalidad (1..1, 1..N, N..N).
- Restricciones de colección — recuento mínimo y máximo de elementos.
Estas restricciones alimentan los formularios autogenerados y la página de ayuda por modelo (consulta Schemas & Models a la izquierda).
Versionado
Los modelos pueden estar versionados. Yellow guarda un historial de los cambios para que las instancias antiguas sigan siendo legibles incluso después de que el modelo evolucione.