Hoogle Search

Within LTS Haskell 24.6 (ghc-9.10.2)

Note that Stackage only displays results for the latest LTS and Nightly snapshot. Learn more.

  1. persistUniqueKeys :: PersistEntity record => record -> [Unique record]

    persistent Database.Persist.Class.PersistEntity

    A meta operation to retrieve all the Unique keys.

  2. persistUniqueToFieldNames :: PersistEntity record => Unique record -> NonEmpty (FieldNameHS, FieldNameDB)

    persistent Database.Persist.Class.PersistEntity

    A lower level operation.

  3. persistUniqueToValues :: PersistEntity record => Unique record -> [PersistValue]

    persistent Database.Persist.Class.PersistEntity

    A lower level operation.

  4. persistBackend :: HasPersistBackend backend => backend -> BaseBackend backend

    persistent Database.Persist.Class.PersistStore

    No documentation available.

  5. persistUniqueKeyValues :: PersistEntity record => record -> [PersistValue]

    persistent Database.Persist.Class.PersistUnique

    This function returns a list of PersistValue that correspond to the Unique keys on that record. This is useful for comparing two records for equality only on the basis of their Unique keys.

  6. persistBackend :: HasPersistBackend backend => backend -> BaseBackend backend

    persistent Database.Persist.Sql.Types.Internal

    No documentation available.

  7. persistFieldFromEntity :: MkPersistSettings -> UnboundEntityDef -> Q [Dec]

    persistent Database.Persist.TH

    Produce code similar to the following:

    instance PersistEntity e => PersistField e where
    toPersistValue = entityToPersistValueHelper
    fromPersistValue = entityFromPersistValueHelper ["col1", "col2"]
    sqlType _ = SqlString
    

  8. persistFileWith :: PersistSettings -> FilePath -> Q Exp

    persistent Database.Persist.TH

    Same as persistWith, but uses an external file instead of a quasiquotation. The recommended file extension is .persistentmodels.

  9. persistLowerCase :: QuasiQuoter

    persistent Database.Persist.TH

    Apply persistWith to lowerCaseSettings.

  10. persistManyFileWith :: PersistSettings -> [FilePath] -> Q Exp

    persistent Database.Persist.TH

    Same as persistFileWith, but uses several external files instead of one. Splitting your Persistent definitions into multiple modules can potentially dramatically speed up compile times. The recommended file extension is .persistentmodels.

    Examples

    Split your Persistent definitions into multiple files (models1, models2), then create a new module for each new file and run mkPersist there:
    -- Model1.hs
    share
    [mkPersist sqlSettings]
    $(persistFileWith lowerCaseSettings "models1")
    
    -- Model2.hs
    share
    [mkPersist sqlSettings]
    $(persistFileWith lowerCaseSettings "models2")
    
    Use persistManyFileWith to create your migrations:
    -- Migrate.hs
    mkMigrate "migrateAll"
    $(persistManyFileWith lowerCaseSettings ["models1.persistentmodels","models2.persistentmodels"])
    
    Tip: To get the same import behavior as if you were declaring all your models in one file, import your new files as Name into another file, then export module Name. This approach may be used in the future to reduce memory usage during compilation, but so far we've only seen mild reductions. See persistent#778 and persistent#791 for more details.

Page 36 of many | Previous | Next