Nesta seção
Objetos
defineObject — declare novos tipos de registros com seus próprios campos.Estendendo objetos
defineField — adicione campos a objetos padrão ou de outros apps.Relações
Conexões bidirecionais
MANY_TO_ONE / ONE_TO_MANY entre objetos.Entidades em resumo
O SDK detecta esses elementos por meio de análise de AST em tempo de build, então a organização dos arquivos fica a seu critério — a convenção é
src/objects/, src/fields/ e src/indexes/. UUIDs universalIdentifier estáveis conectam tudo em implantações diferentes.
Índices (Opcional)
Os apps podem incluir índices junto com seus objetos para manter rápidas as consultas recorrentes. O caso mais comum é uma coluna de status ou de chave estrangeira que você lê com frequência.src/indexes/post-card-status.index.ts
Índices únicos
defineIndex aceita isUnique: true tanto para unicidade de uma única coluna quanto de múltiplas colunas. Este é o recurso recomendado — defineField({ isUnique: true }) está obsoleto e será removido em uma versão futura.
Outras restrições
- Cláusulas
WHEREparciais permanecem sob controle do administrador — os apps não podem declará-las. - Cada objeto é limitado a 10 índices personalizados (os índices do próprio framework não contam).
fields da forma como o Postgres deve usá-lo — coluna mais à esquerda primeiro, como em uma lista telefônica. Índices não são gratuitos: cada gravação na tabela os atualiza. Adicione um apenas quando você tiver uma consulta que precise dele.