Skip to content

Latest commit

 

History

History
51 lines (36 loc) · 1.36 KB

entities.md

File metadata and controls

51 lines (36 loc) · 1.36 KB
description
Entities is the backbone of the data model and translate into the db schema

Entities

Entities are the top-level type definitions in the input schema marked with the @entity directive. Entity fields are normally built-in scalar types but can also be

All entities have an auto-generated ID field which is reserved and cannot be used in the input schema.

Primitive types

The following scalar types are supported:

  • Boolean
  • String
  • Int
  • Float
  • BigInt supports arbitrarily large numbers and is useful for representing e.g. large numbers uint256
  • Bytes

Arrays follow the GraphQL spec.

Modifiers and decorators

By default, each field is nullable. To indicate a no-null constraint mark the field with !

If a property must be unique across all entities of the given type, mark it with a built-in @unique directive

Schema comments are natively supported and are propagated to the output schema

Example

"It is just a boring nine-five person"
type Person @entity {
    name: String!
    married: Boolean
    age: Int
    "one person, one account, one life"
    account: Bytes! @unique
    salary: BigInt
    interests: [String]
}