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.
Changes
0.5.2.1
Added features
Loosen some version bounds
0.5.2.0
Addded features
IN (SELECT ...) syntax via inSelectE
0.5.1.2
Added features
Aeson 2.0 support
0.5.1.1
Added features
GHC 9.2 and 9.0 support
0.5.1.0
Added features
Expose IsNotNull class
Bug fixes
Order log entries when verifying migration status
0.5.0.0
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
0.4.0.0
0.3.2.0
Added haskellSchema shortcut
0.3.1.0
Add Semigroup instances to prepare for GHC 8.4 and Stackage nightly
0.3.0.0
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.