LixSchemaDefinition =
JSONSchema
& {properties?
: {[key
:string
]:LixPropertySchema
; };type
:"object"
;x-lix-foreign-keys?
:LixForeignKey
[] | readonlyLixForeignKey
[];x-lix-key
:string
;x-lix-primary-key?
:string
[] | readonlystring
[];x-lix-unique?
:string
[][] | readonly readonlystring
[][];x-lix-version
:string
; }
LixSchema
A superset of JSON Schema (draft-07) that includes Lix-specific metadata and supports custom extensions.
Custom extensions may be added with any x-* prefix.
optional
properties: {[key
:string
]:LixPropertySchema
; }
[key
: string
]: LixPropertySchema
type:
"object"
optional
x-lix-foreign-keys:LixForeignKey
[] | readonlyLixForeignKey
[]
Foreign key constraints referencing other schemas.
x-lix-key:
string
The key of the schema.
The key is used to identify the schema. You must use a unique key for each schema.
optional
x-lix-primary-key:string
[] | readonlystring
[]
optional
x-lix-unique:string
[][] | readonly readonlystring
[][]
Properties that must be unique per version.
Not to be confused by x-version
which is used for versioning the schema.
x-lix-version:
string
The version of the schema.
Use the major version to signal breaking changes. Use the minor version to signal non-breaking changes.