Module parser

Module parser 

Source
Expand description

QAIL Schema Parser

Parses .qail text format into Schema AST.

§Grammar

schema = { table_def | index_def | migration_hint }*

table_def = "table" IDENT "{" column_def* "}"
column_def = IDENT TYPE constraint*
constraint = "primary_key" | "not_null" | "nullable" | "unique" | "default" VALUE

index_def = ["unique"] "index" IDENT "on" IDENT "(" IDENT+ ")"

migration_hint = "rename" PATH "->" PATH
               | "transform" EXPR "->" PATH
               | "drop" PATH ["confirm"]

Functions§

parse_qail
Parse a .qail file into a Schema.