persistent-2.14.6.3: Type-safe, multi-backend data serialization.
Safe HaskellNone
LanguageHaskell2010

Database.Persist.FieldDef

Description

Since: 2.13.0.0

Synopsis

The FieldDef type

data FieldDef Source #

A FieldDef represents the inormation that persistent knows about a field of a datatype. This includes information used to parse the field out of the database and what the field corresponds to.

Instances

Instances details
Read FieldDef Source # 
Instance details

Defined in Database.Persist.Types.Base

Methods

readsPrec :: Int -> ReadS FieldDef

readList :: ReadS [FieldDef]

readPrec :: ReadPrec FieldDef

readListPrec :: ReadPrec [FieldDef]

Show FieldDef Source # 
Instance details

Defined in Database.Persist.Types.Base

Methods

showsPrec :: Int -> FieldDef -> ShowS

show :: FieldDef -> String

showList :: [FieldDef] -> ShowS

Eq FieldDef Source # 
Instance details

Defined in Database.Persist.Types.Base

Methods

(==) :: FieldDef -> FieldDef -> Bool

(/=) :: FieldDef -> FieldDef -> Bool

Ord FieldDef Source # 
Instance details

Defined in Database.Persist.Types.Base

Methods

compare :: FieldDef -> FieldDef -> Ordering

(<) :: FieldDef -> FieldDef -> Bool

(<=) :: FieldDef -> FieldDef -> Bool

(>) :: FieldDef -> FieldDef -> Bool

(>=) :: FieldDef -> FieldDef -> Bool

max :: FieldDef -> FieldDef -> FieldDef

min :: FieldDef -> FieldDef -> FieldDef

Lift FieldDef Source # 
Instance details

Defined in Database.Persist.Types.Base

Methods

lift :: Quote m => FieldDef -> m Exp

liftTyped :: forall (m :: Type -> Type). Quote m => FieldDef -> Code m FieldDef

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

Constructors

FieldCascade 

Fields

Instances

Instances details
Read FieldCascade Source # 
Instance details

Defined in Database.Persist.Types.Base

Methods

readsPrec :: Int -> ReadS FieldCascade

readList :: ReadS [FieldCascade]

readPrec :: ReadPrec FieldCascade

readListPrec :: ReadPrec [FieldCascade]

Show FieldCascade Source # 
Instance details

Defined in Database.Persist.Types.Base

Methods

showsPrec :: Int -> FieldCascade -> ShowS

show :: FieldCascade -> String

showList :: [FieldCascade] -> ShowS

Eq FieldCascade Source # 
Instance details

Defined in Database.Persist.Types.Base

Methods

(==) :: FieldCascade -> FieldCascade -> Bool

(/=) :: FieldCascade -> FieldCascade -> Bool

Ord FieldCascade Source # 
Instance details

Defined in Database.Persist.Types.Base

Lift FieldCascade Source # 
Instance details

Defined in Database.Persist.Types.Base

Methods

lift :: Quote m => FieldCascade -> m Exp

liftTyped :: forall (m :: Type -> Type). Quote m => FieldCascade -> Code m FieldCascade

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

Instances

Instances details
Read CascadeAction Source # 
Instance details

Defined in Database.Persist.Types.Base

Methods

readsPrec :: Int -> ReadS CascadeAction

readList :: ReadS [CascadeAction]

readPrec :: ReadPrec CascadeAction

readListPrec :: ReadPrec [CascadeAction]

Show CascadeAction Source # 
Instance details

Defined in Database.Persist.Types.Base

Methods

showsPrec :: Int -> CascadeAction -> ShowS

show :: CascadeAction -> String

showList :: [CascadeAction] -> ShowS

Eq CascadeAction Source # 
Instance details

Defined in Database.Persist.Types.Base

Ord CascadeAction Source # 
Instance details

Defined in Database.Persist.Types.Base

Lift CascadeAction Source # 
Instance details

Defined in Database.Persist.Types.Base

Methods

lift :: Quote m => CascadeAction -> m Exp

liftTyped :: forall (m :: Type -> Type). Quote m => CascadeAction -> Code m CascadeAction