persistent-2.13.3.5: Type-safe, multi-backend data serialization.
Safe Haskell None
Language Haskell2010

Database.Persist.FieldDef

Description

Since: 2.13.0.0

Synopsis

The FieldDef type

Setters

setFieldAttrs :: [ FieldAttr ] -> FieldDef -> FieldDef Source #

Replace the FieldDef FieldAttr with the new list.

Since: 2.13.0.0

overFieldAttrs :: ([ FieldAttr ] -> [ FieldAttr ]) -> FieldDef -> FieldDef Source #

Modify the list of field attributes.

Since: 2.13.0.0

addFieldAttr :: FieldAttr -> FieldDef -> FieldDef Source #

Add an attribute to the list of field attributes.

Since: 2.13.0.0

Helpers

isFieldNullable :: FieldDef -> IsNullable Source #

Check if the field definition is nullable

Since: 2.13.0.0

isFieldMaybe :: FieldDef -> Bool Source #

Check if the field is `Maybe a`

Since: 2.13.0.0

isHaskellField :: FieldDef -> Bool Source #

Returns True if the FieldDef does not have a MigrationOnly or SafeToRemove flag from the QuasiQuoter.

Since: 2.13.0.0

FieldCascade

data FieldCascade Source #

This datatype describes how a foreign reference field cascades deletes or updates.

This type is used in both parsing the model definitions and performing migrations. A Nothing in either of the field values means that the user has not specified a CascadeAction . An unspecified CascadeAction is defaulted to Restrict when doing migrations.

Since: 2.11.0

renderFieldCascade :: FieldCascade -> Text Source #

Renders a FieldCascade value such that it can be used in SQL migrations.

Since: 2.11.0

renderCascadeAction :: CascadeAction -> Text Source #

Render a CascadeAction to Text such that it can be used in a SQL command.

Since: 2.11.0

noCascade :: FieldCascade Source #

A FieldCascade that does nothing.

Since: 2.11.0

data CascadeAction Source #

An action that might happen on a deletion or update on a foreign key change.

Since: 2.11.0