Safe Haskell | None |
---|---|
Language | Haskell2010 |
Database.Persist.Relational.TH
Synopsis
- mkHrr :: [EntityDef] -> Q [Dec]
- mkHrrWithConfig :: NameConfig -> [EntityDef] -> Q [Dec]
- mkHrrForEntityDef :: NameConfig -> EntityDef -> Q [Dec]
- deriveGenericForEntityId :: [EntityDef] -> Q [Dec]
- data TableDef = TableDef {}
- data Column = Column {}
- entityDefToTableDef :: NameConfig -> EntityDef -> TableDef
- ftToType :: FieldType -> TypeQ
- makeColumn :: NameConfig -> FieldDef -> Column
- concatMapM :: Monad m => (a -> m [b]) -> [a] -> m [b]
- defineMonomorphicProjections :: TableDef -> Q [Dec]
- definePiProjection :: Name -> Name -> (Integer, Column) -> Q [Dec]
- defineColumnOffsetsVar :: Name -> Name -> Name -> Q [Dec]
- defineTableTypesForTableDef :: NameConfig -> TableDef -> Q [Dec]
- definePersistableWidthInstances :: TypeQ -> Q [Dec]
- defineFromSqlPersistValueInstances :: TypeQ -> Q [Dec]
- mkPersistablePrimaryKey :: TypeQ -> Q [Dec]
- mkShowConstantTermsSQL :: TypeQ -> Q [Dec]
- mkFieldType :: FieldDef -> TypeQ
- defineFromToSqlPersistValue :: TypeQ -> Q [Dec]
- unsafePersistValueFromSql :: PersistField a => PersistValue -> a
- persistValueTypesFromPersistFieldInstances :: [String] -> Q (Map Name TypeQ)
- persistableWidthTypes :: Q (Map Name TypeQ)
- derivePersistableInstancesFromPersistFieldInstances :: [String] -> Q [Dec]
Documentation
mkHrrWithConfig :: NameConfig -> [EntityDef] -> Q [Dec] Source #
mkHrrForEntityDef :: NameConfig -> EntityDef -> Q [Dec] Source #
deriveGenericForEntityId :: [EntityDef] -> Q [Dec] Source #
standalone deriving Generic instance for entity IDs.
Persistent does not derive Generic instances for `Key a`. see https://github.com/yesodweb/persistent/pull/734#issuecomment-346696921 https://github.com/yesodweb/persistent/issues/578
Constructors
TableDef | |
Fields
|
Constructors
Column | |
Fields
|
entityDefToTableDef :: NameConfig -> EntityDef -> TableDef Source #
makeColumn :: NameConfig -> FieldDef -> Column Source #
concatMapM :: Monad m => (a -> m [b]) -> [a] -> m [b] Source #
defineMonomorphicProjections :: TableDef -> Q [Dec] Source #
Generate `HasProjection "columnName" (Entity table) columnType` instances
Arguments
:: Name | table type name |
-> Name | columnOffsetsVarName |
-> (Integer, Column) | (column idx, (column name, column type)) |
-> Q [Dec] |
Generate a `HasProjection "columnName" (Entity table) columnType` instance
defineTableTypesForTableDef :: NameConfig -> TableDef -> Q [Dec] Source #
mkFieldType :: FieldDef -> TypeQ Source #
defineFromToSqlPersistValue :: TypeQ -> Q [Dec] Source #
Generate FromSql
PersistValue
and ToSql
PersistValue
instances for PersistField
types.
unsafePersistValueFromSql :: PersistField a => PersistValue -> a Source #