beam-migrate-0.4.0.0: SQL DDL support and migrations support library for Beam

Safe HaskellNone
LanguageHaskell2010

Database.Beam.Migrate.SQL.BeamExtensions

Description

Beam extensions are optional functionality that do not conform to any standard and may have wildly different interpretations across backends.

In spite of these drawbacks, these are provided for the purposes of pragmatism and convenience.

Synopsis

Documentation

class BeamMigrateSqlBackend be => BeamSqlBackendHasSerial be where Source #

Used to designate that a field should provide a default auto-incrementing value.

Usage:

field Key genericSerial

Then, when inserting into the table, you can use default_ to request the database automatically assign a new value to the column. See runInsertReturning for another Beam extension that may help if you want to know which value was assigned.

Note that this is only provided for convenience. Backends often implement auto-incrementing keys wildly differently. Many have restrictions on where genericSerial may appear and may fail at run-time if these conditions aren't met. Please refer to the backend of your choice for more information.