name: beam-automigrate
version: 0.1.2.0
license-file: LICENSE
build-type: Simple
cabal-version: >=1.10
author: Alfredo Di Napoli, Andres Löh, Well-Typed LLP, and Obsidian Systems LLC
copyright: 2020 Obsidian Systems LLC
maintainer: maintainer@obsidian.systems
category: Database
license: BSD3
license-file: LICENSE
bug-reports: https://github.com/obsidiansystems/beam-automigrate/issues
synopsis: DB migration library for beam, targeting Postgres.
description:
This package offers an alternative to @<https://hackage.haskell.org/package/beam-migrate beam-migrate>@
and can be used to migrate a database between different versions of a Haskell schema. It doesn't depend
on @beam-migrate@ if not transitively (@beam-postgres@ depends on it, for example).
.
<<https://i.imgur.com/xuPyUfg.gif>>
extra-source-files:
README.md
CHANGELOG.md
tested-with: GHC ==8.6.5 || ==8.8.4 || ==8.10.2
library
exposed-modules:
Database.Beam.AutoMigrate
Database.Beam.AutoMigrate.Annotated
Database.Beam.AutoMigrate.BenchUtil
Database.Beam.AutoMigrate.Compat
Database.Beam.AutoMigrate.Diff
Database.Beam.AutoMigrate.Generic
Database.Beam.AutoMigrate.Postgres
Database.Beam.AutoMigrate.Schema.Gen
Database.Beam.AutoMigrate.Types
Database.Beam.AutoMigrate.Util
Database.Beam.AutoMigrate.Validity
hs-source-dirs: src
build-depends:
aeson >=1.4.4 && <1.5
, base >=4.9 && <5
, beam-core >=0.9 && <0.10
, beam-postgres >=0.5 && <0.6
, bytestring >=0.10.8.2 && <0.12.0.0
, containers >=0.5.9.2 && <0.8.0.0
, deepseq >=1.4.4 && <1.6
, dlist >=0.8.0 && <0.10
, microlens >=0.4.10 && <0.6
, mtl >=2.2.2 && <2.4
, postgresql-simple >=0.5.4 && <0.7.0.0
, pretty-simple >=2.2.0 && <3.3
, QuickCheck >=2.13 && <2.15
, quickcheck-instances >=0.3 && <0.4
, scientific >=0.3.6 && <0.5
, splitmix >=0.0.3 && <0.1
, string-conv >=0.1.2 && <0.3
, text >=1.2.0.0 && <1.3.0.0
, time >=1.8.0 && <2
, transformers >=0.5.6 && <0.7
, uuid >=1.3 && <1.4
, vector >=0.12.0.3 && <0.13.0.0
default-language: Haskell2010
default-extensions:
DataKinds
FlexibleInstances
GADTs
KindSignatures
LambdaCase
MultiParamTypeClasses
OverloadedStrings
ScopedTypeVariables
TypeApplications
TypeFamilies
ghc-options: -Wall
if flag(werror)
ghc-options: -Werror
test-suite beam-automigrate-tests
type: exitcode-stdio-1.0
hs-source-dirs: tests
main-is: Main.hs
other-modules: Test.Database.Beam.AutoMigrate.Arbitrary
build-depends:
base
, beam-automigrate
, containers
, pretty-simple
, QuickCheck
, tasty
, tasty-quickcheck
, text
default-language: Haskell2010
default-extensions: OverloadedStrings
test-suite beam-automigrate-integration-tests
type: exitcode-stdio-1.0
hs-source-dirs: integration-tests tests
main-is: Main.hs
other-modules: Test.Database.Beam.AutoMigrate.Arbitrary
build-depends:
base
, beam-automigrate
, containers
, postgresql-simple
, pretty-simple
, QuickCheck
, tasty
, tasty-quickcheck
, text
, tmp-postgres >=1.31.0.1 && <1.35.0.0
default-language: Haskell2010
default-extensions:
OverloadedStrings
ScopedTypeVariables
if !flag(integration-tests)
buildable: False
executable beam-automigrate-examples
hs-source-dirs: examples
main-is: Main.hs
other-modules:
Example
ForeignKeys
-- SubDatabases -- Sub-database support hasn't been added to beam yet. See https://github.com/adinapoli/beam/commit/a00ea815e74aea666af840dbe75571b8165ca506
build-depends:
aeson
, base
, beam-automigrate
, beam-core
, beam-postgres
, bytestring
, postgresql-simple
, text
, time
default-language: Haskell2010
default-extensions:
DataKinds
DeriveGeneric
FlexibleContexts
FlexibleInstances
MultiParamTypeClasses
OverloadedStrings
StandaloneDeriving
TypeApplications
TypeFamilies
ghc-options: -Wall -O2 -rtsopts
if flag(werror)
ghc-options: -Werror
if flag(ghcipretty)
build-depends: pretty-simple
executable beam-automigrate-large-migration-test
hs-source-dirs: large-migration-test
main-is: Main.hs
build-depends:
base
, beam-automigrate
, beam-postgres
, containers
, postgresql-simple
, time
default-language: Haskell2010
default-extensions: OverloadedStrings
ghc-options: -Wall -O2 -rtsopts
benchmark beam-automigrate-bench
type: exitcode-stdio-1.0
hs-source-dirs: bench
main-is: Main.hs
build-depends:
base
, beam-automigrate
, beam-postgres
, bytestring
, containers
, criterion
, deepseq
, postgresql-simple
, QuickCheck
, splitmix
default-language: Haskell2010
ghc-options: -Wall -O2 -rtsopts
executable readme
build-depends:
base
, beam-automigrate
, beam-core
, beam-postgres
, gargoyle-postgresql-connect
, postgresql-simple
, resource-pool
, text
default-language: Haskell2010
main-is: README.lhs
ghc-options: -Wall -optL -q
flag werror
description: Enable -Werror during development
default: False
manual: True
flag ghcipretty
description: Enable pretty-show for pretty-printing purposes
default: False
manual: True
flag integration-tests
description: Enable integration tests that talks to a Postgres DB.
default: False
manual: True
source-repository head
type: git
location: https://github.com/obsidiansystems/beam-automigrate