This package provides type classes to allow backends to implement SQL DDL support for beam. This allows you to use beam syntax to write type-safe schema generation code. The package also provides features to introspect beam schemas, and support for automatic generation of migrations in SQL and Haskell formats. This is mostly a low-level support library. Most often, this library is used to write tooling to support DDL manipulation in your project, or to enable migrations support in beam backends. For a more turnkey solution for database migrations, consider the beam-migrate command line tool. This provides out-of-the-box support for migrations, schema change management, and version control, based on the features provided in this library.


Added features

  • Aeson 2.0 support

Added features

  • GHC 9.2 and 9.0 support

Added features

  • Expose IsNotNull class

Bug fixes

  • Order log entries when verifying migration status

Interface changes

  • Removed instances for machine-dependent ambiguous integer types Int and Word
  • Require MonadFail for BeamMigrationBackend

Added features

  • GHC 8.8 support
  • checkSchema: Like verifySchema, but detects and returns unexpected predicates found in the live database

Bug fixes

  • Map Int16 to smallIntType instead of intType
  • Suppress creation of primary key constraints for tables with no primary keys

Added haskellSchema shortcut

Add Semigroup instances to prepare for GHC 8.4 and Stackage nightly

  • Re-introduce backend parameter as Database type class
  • Move beam migration log schema to beam-migrate, since many applications will want to easily manage a database using the haskell-based migrations
  • Add bringUpToDate and bringUpToDateWithHooks to Database.Beam.Migrate.Simple, which can be used to bring a database up to date with the given migration. – 2018-01-20

  • First version. Released on an unsuspecting world.