Skip to main content
La capa de datos de una aplicación de Twenty es el conjunto de datos que tu aplicación agrega a un espacio de trabajo — los nuevos tipos de registros que declara, las columnas que agrega a los objetos existentes y cómo esos registros se conectan entre sí.

En esta sección

Objetos

defineObject — declara nuevos tipos de registros con sus propios campos.

Extender objetos

defineField — agrega campos a objetos estándar o de otras aplicaciones.

Relaciones

Conexiones bidireccionales MANY_TO_ONE / ONE_TO_MANY entre objetos.

Entidades de un vistazo

El SDK detecta estos mediante análisis AST en tiempo de compilación, por lo que la organización de archivos depende de ti; la convención es src/objects/, src/fields/ y src/indexes/. Los UUID universalIdentifier estables vinculan todo a través de los despliegues.

Índices (opcional)

Las aplicaciones pueden incluir índices junto con sus objetos para mantener rápidas las consultas recurrentes. El caso más habitual es una columna de estado o de clave externa que lees con frecuencia.
src/indexes/post-card-status.index.ts

Índices únicos

defineIndex acepta isUnique: true tanto para unicidad de una sola columna como de varias columnas. Este es el elemento primitivo recomendado — defineField({ isUnique: true }) está obsoleto y se eliminará en una versión futura.

Otras restricciones

  • Las cláusulas WHERE parciales permanecen bajo el control del administrador: las aplicaciones no pueden declararlas.
  • Cada objeto está limitado a 10 índices personalizados (los índices propios del framework no cuentan).
Ordena el arreglo fields de la forma en que Postgres debería usarlo: la columna más a la izquierda primero, como en una guía telefónica. Los índices no son gratuitos: cada escritura en la tabla los actualiza. Añade uno solo cuando tengas una consulta que lo necesite.
¿Buscas Application Config o Roles & Permissions? Esos describen la propia aplicación en lugar de los datos que agrega; se encuentran en Config. ¿Buscas Connections (Linear, GitHub, Slack OAuth)? Estas existen para ser llamadas desde las funciones lógicas y se encuentran en Logic.