Safe Haskell | None |
---|---|
Language | Haskell2010 |
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.
- class IsSql92ColumnSchemaSyntax syntax => IsBeamSerialColumnSchemaSyntax syntax where
Documentation
class IsSql92ColumnSchemaSyntax syntax => IsBeamSerialColumnSchemaSyntax syntax where Source #
Used to designate that a field should provide a default auto-incrementing value.
Usage:
field Key int 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.
genericSerial :: FieldReturnType True False syntax (SqlSerial Int) a => Text -> a Source #