cabal-version: 3.0
name: shomei-migrations
version: 0.2.0.1
synopsis:
Schema migrations for Shōmei (pg-migrate component, embedded SQL)
description:
Owns Shōmei's PostgreSQL schema. Embeds Shōmei's ordered SQL manifest at
compile time with pg-migrate-embed and exposes it as a pg-migrate
MigrationComponent that a host application can compose with its own
migrations, so an embedding service applies one migration plan rather than
two. Ships the shomei-migrate CLI for standalone use, and a public
test-support sublibrary that provisions a fresh ephemeral PostgreSQL with
the schema already applied.
homepage: https://github.com/shinzui/shomei
bug-reports: https://github.com/shinzui/shomei/issues
license: MIT
license-file: LICENSE
author: Nadeem Bitar
maintainer: nadeem@gmail.com
copyright: 2026 Nadeem Bitar
category: Database, Security
build-type: Simple
tested-with: ghc ==9.12.4
extra-doc-files: CHANGELOG.md
extra-source-files:
migrations/shomei/*.sql
migrations/shomei/manifest
source-repository head
type: git
location: https://github.com/shinzui/shomei.git
common warnings
ghc-options:
-Wall
-Wcompat
-Widentities
-Wincomplete-record-updates
-Wincomplete-uni-patterns
-Wpartial-fields
-Wredundant-constraints
common shared
default-language: GHC2024
default-extensions:
BlockArguments
DeriveAnyClass
DuplicateRecordFields
MultilineStrings
OverloadedLabels
OverloadedRecordDot
OverloadedStrings
QualifiedDo
TemplateHaskell
library
import: warnings, shared
hs-source-dirs: src
exposed-modules: Shomei.Migrations
build-depends:
base >=4.18 && <5,
containers >=0.7 && <0.8,
hasql >=1.10 && <1.11,
pg-migrate >=1.2 && <1.3,
pg-migrate-embed >=1.2 && <1.3,
text >=2.0 && <2.2,
executable shomei-migrate
import: warnings, shared
main-is: Main.hs
hs-source-dirs: app
ghc-options:
-threaded
-rtsopts
-with-rtsopts=-N
build-depends:
aeson >=2.1 && <2.3,
base >=4.18 && <5,
bytestring >=0.11 && <0.13,
hasql >=1.10 && <1.11,
optparse-applicative >=0.19 && <0.20,
pg-migrate >=1.2 && <1.3,
pg-migrate-cli >=1.2 && <1.3,
shomei-migrations ^>=0.2.0.1,
text >=2.0 && <2.2,
library test-support
import: warnings, shared
visibility: public
hs-source-dirs: test-support
exposed-modules: Shomei.Migrations.TestSupport
build-depends:
base >=4.18 && <5,
directory >=1.3 && <1.4,
ephemeral-pg >=0.3.1 && <0.4,
pg-migrate >=1.2 && <1.3,
shomei-migrations ^>=0.2.0.1,
text >=2.0 && <2.2,
time >=1.12 && <1.15,
unix >=2.8 && <2.9,
test-suite shomei-migrations-test
import: warnings, shared
type: exitcode-stdio-1.0
hs-source-dirs: test
main-is: Main.hs
ghc-options:
-threaded
-rtsopts
-with-rtsopts=-N
build-depends:
base >=4.18 && <5,
bytestring >=0.11 && <0.13,
containers >=0.7 && <0.8,
hasql >=1.10 && <1.11,
pg-migrate >=1.2 && <1.3,
pg-migrate-embed >=1.2 && <1.3,
pg-migrate-test-support >=1.2 && <1.3,
shomei-migrations ^>=0.2.0.1,
tasty >=1.4 && <1.6,
tasty-hunit >=0.10 && <0.11,