packages feed

pg-migrate-1.1.0.0: pg-migrate.cabal

cabal-version:   3.8
name:            pg-migrate
version:         1.1.0.0
synopsis:        Hasql-native PostgreSQL migration engine
category:        Database
maintainer:      nadeem@gmail.com
description:
  Libraries own ordered migration components and applications compose them into
  validated plans with stable v1 ledger and public API contracts.

extra-doc-files: CHANGELOG.md
license:         BSD-3-Clause
build-type:      Simple

common common
  default-language:   GHC2024
  default-extensions:
    DeriveAnyClass
    DuplicateRecordFields
    MultilineStrings
    OverloadedLabels
    OverloadedStrings

  ghc-options:        -Wall -Wcompat

library
  import:          common
  hs-source-dirs:  src
  autogen-modules: Paths_pg_migrate
  exposed-modules:
    Database.PostgreSQL.Migrate
    Database.PostgreSQL.Migrate.History
    Database.PostgreSQL.Migrate.Internal
    PgMigrate.Prelude

  other-modules:
    Database.PostgreSQL.Migrate.Definition
    Database.PostgreSQL.Migrate.History.Types
    Database.PostgreSQL.Migrate.History.Validation
    Database.PostgreSQL.Migrate.Inspection
    Database.PostgreSQL.Migrate.Ledger
    Database.PostgreSQL.Migrate.Ledger.Migrations
    Database.PostgreSQL.Migrate.Ledger.Sql
    Database.PostgreSQL.Migrate.Ledger.Types
    Database.PostgreSQL.Migrate.Plan
    Database.PostgreSQL.Migrate.Repair
    Database.PostgreSQL.Migrate.Repair.Types
    Database.PostgreSQL.Migrate.Runner
    Database.PostgreSQL.Migrate.Runner.Connection
    Database.PostgreSQL.Migrate.Runner.Lock
    Database.PostgreSQL.Migrate.Runner.Types
    Database.PostgreSQL.Migrate.Sql
    Database.PostgreSQL.Migrate.Sql.Scanner
    Database.PostgreSQL.Migrate.Types
    Paths_pg_migrate

  build-depends:
    , aeson              >=2.2  && <2.3
    , base               >=4.20 && <4.22
    , bytestring         >=0.12 && <0.13
    , containers         >=0.7  && <0.8
    , contravariant      >=1.5  && <1.6
    , crypton            >=1.1  && <1.2
    , hasql              >=1.10 && <1.11
    , hasql-transaction  >=1.2  && <1.3
    , ram                >=0.20 && <0.23
    , text               >=2.1  && <2.2
    , time               >=1.12 && <1.15

test-suite pg-migrate-unit
  import:         common
  type:           exitcode-stdio-1.0
  hs-source-dirs: test/unit
  main-is:        Main.hs
  other-modules:
    Test.Definition
    Test.History
    Test.Ledger
    Test.Plan
    Test.PublicApi
    Test.Runner
    Test.Sql

  build-depends:
    , aeson             >=2.2  && <2.3
    , base              >=4.20 && <4.22
    , bytestring        >=0.12 && <0.13
    , containers        >=0.7  && <0.8
    , pg-migrate
    , tasty             >=1.5  && <1.6
    , tasty-hunit       >=0.10 && <0.11
    , tasty-quickcheck  >=0.11 && <0.13
    , text              >=2.1  && <2.2
    , time              >=1.12 && <1.15

test-suite pg-migrate-integration
  import:             common
  type:               exitcode-stdio-1.0
  ghc-options:        -threaded
  hs-source-dirs:     test/integration
  main-is:            Main.hs
  build-tool-depends: pg-migrate:pg-migrate-crash-helper
  build-depends:
    , aeson              >=2.2  && <2.3
    , base               >=4.20 && <4.22
    , bytestring         >=0.12 && <0.13
    , containers         >=0.7  && <0.8
    , hasql              >=1.10 && <1.11
    , hasql-transaction  >=1.2  && <1.3
    , pg-migrate
    , process            >=1.6  && <1.7
    , tasty              >=1.5  && <1.6
    , tasty-hunit        >=0.10 && <0.11
    , text               >=2.1  && <2.2
    , time               >=1.12 && <1.15
    , unix               >=2.8  && <2.9

executable pg-migrate-crash-helper
  import:         common
  hs-source-dirs: test/crash-helper
  main-is:        Main.hs
  build-depends:
    , base        >=4.20 && <4.22
    , bytestring  >=0.12 && <0.13
    , containers  >=0.7  && <0.8
    , hasql       >=1.10 && <1.11
    , pg-migrate
    , text        >=2.1  && <2.2