Safe Haskell | None |
---|---|
Language | Haskell2010 |
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
-
class
BeamMigrateSqlBackend
be =>
BeamSqlBackendHasSerial
be
where
- genericSerial :: FieldReturnType ' True ' False be ( SqlSerial Int ) a => Text -> a
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.
Methods
genericSerial :: FieldReturnType ' True ' False be ( SqlSerial Int ) a => Text -> a Source #