EaToSql


Dsl

Provides a slightly more succinct syntax for creating Model objects.

Functions and values

Function or valueDescription
col name dtype
Signature: name:ModelName -> dtype:DataType -> ColumnDef

Creates a ColumnDef record in a more succinct way.

ix cols
Signature: cols:ColumnRef list -> Index

creates an index with auto-naming, and the specified columns.

ixn name cols
Signature: name:ModelName -> cols:ColumnRef list -> Index

Creates a named index.

pk cols
Signature: cols:ColumnRef list -> PrimaryKey

creates a primary key with auto-naming, and the specified columns.

pkn name cols
Signature: name:ModelName -> cols:ColumnRef list -> PrimaryKey

Creates a named primary key.

rel srcCols target
Signature: srcCols:ColumnRef list -> target:RelTarget -> Relationship

creates a relationship with auto-naming, and the specified source columns, and target table/columns.

reln name srcCols target
Signature: name:ModelName -> srcCols:ColumnRef list -> target:RelTarget -> Relationship

Creates a named relationship, with source columns and a target table/columns.

table name cols
Signature: name:ModelName -> cols:ColumnDef list -> Table

Creates a table with a name and columns. By default, the primary key is the first column and no indexes, uniques, or relationships are defined.

target tname cols
Signature: tname:ModelName -> cols:ColumnRef list -> RelTarget

Creates a new RelTarget; the target table/columns of a relationship.

uq cols
Signature: cols:ColumnRef list -> Unique

creates a unique constraint with auto-naming, and the specified columns.

uqn name cols
Signature: name:ModelName -> cols:ColumnRef list -> Unique

Creates a named unique constraint.

Fork me on GitHub