Documentation
¶
Overview ¶
Package mixin defines reusable groups of schema declarations, including application-side and database-side primary-key generators.
Index ¶
Constants ¶
View Source
const DefaultNanoIDAlphabet = "_-0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
DefaultNanoIDAlphabet is the URL-safe alphabet used by NanoID's default configuration.
Variables ¶
View Source
var SoftDelete = schema.Mixin{Fields: schema.Fields{ field.Time("deleted_at").Optional().Annotate(softDeleteAnnotation{}), }}
SoftDelete supplies a nullable deleted_at field and reserved annotation.
View Source
var Timestamps = schema.Mixin{Fields: schema.Fields{ field.Time("created_at").SQLDefault("now()").Immutable(), field.Time("updated_at").SQLDefault("now()"), }}
Timestamps supplies created_at and updated_at fields.
View Source
var ULID = schema.Mixin{Fields: schema.Fields{ field.ID().Default(schema.Func(newULID)), }}
ULID supplies a text primary key with a per-row ULID default.
View Source
var UUIDv7 = schema.Mixin{Fields: schema.Fields{ declaration.NewPrimaryField(schema.FieldUUID, reflect.TypeFor[uuid.UUID]()).Default(schema.FuncErr(uuid.NewV7)), }}
UUIDv7 supplies a UUID primary key with a per-row UUIDv7 default.
Functions ¶
Types ¶
This section is empty.
Click to show internal directories.
Click to hide internal directories.