Versions in this module Expand all Collapse all v0 v0.1.0 Mar 30, 2026 Changes in this version + func Alias[T any](src *T, alias string) *T + func Define[T any](name string, fn func(*T)) *T + type AggregateExpr struct + Distinct bool + Expr Expression + Function string + Star bool + func Avg(expr Expression) AggregateExpr + func Count(exprs ...Expression) AggregateExpr + func Max(expr Expression) AggregateExpr + func Min(expr Expression) AggregateExpr + func Sum(expr Expression) AggregateExpr + func (a AggregateExpr) As(alias string) AliasExpr + type AliasExpr struct + Alias string + Expr Expression + func As(expr Expression, alias string) AliasExpr + type AnyColumn struct + func Ref(def *ColumnDef) *AnyColumn + func (c *AnyColumn) As(alias string) AliasExpr + func (c *AnyColumn) Asc() OrderExpr + func (c *AnyColumn) ColumnDef() *ColumnDef + func (c *AnyColumn) Desc() OrderExpr + func (c *AnyColumn) In(values ...any) InExpr + type CoalesceExpr struct + Exprs []Expression + func Coalesce(exprs ...Expression) CoalesceExpr + func (c CoalesceExpr) As(alias string) AliasExpr + type Column struct + func (c *Column[T]) As(alias string) AliasExpr + func (c *Column[T]) Asc() OrderExpr + func (c *Column[T]) ColumnDef() *ColumnDef + func (c *Column[T]) Default(value T) *Column[T] + func (c *Column[T]) DefaultNow() *Column[T] + func (c *Column[T]) Desc() OrderExpr + func (c *Column[T]) Eq(value T) ComparisonExpr + func (c *Column[T]) EqCol(other ColumnReference) ComparisonExpr + func (c *Column[T]) EqExpr(expr Expression) ComparisonExpr + func (c *Column[T]) Gt(value T) ComparisonExpr + func (c *Column[T]) GtExpr(expr Expression) ComparisonExpr + func (c *Column[T]) Gte(value T) ComparisonExpr + func (c *Column[T]) GteExpr(expr Expression) ComparisonExpr + func (c *Column[T]) In(values ...T) InExpr + func (c *Column[T]) IsNotNull() NullCheckExpr + func (c *Column[T]) IsNull() NullCheckExpr + func (c *Column[T]) Lt(value T) ComparisonExpr + func (c *Column[T]) LtExpr(expr Expression) ComparisonExpr + func (c *Column[T]) Lte(value T) ComparisonExpr + func (c *Column[T]) LteExpr(expr Expression) ComparisonExpr + func (c *Column[T]) Ne(value T) ComparisonExpr + func (c *Column[T]) NeExpr(expr Expression) ComparisonExpr + func (c *Column[T]) NotNull() *Column[T] + func (c *Column[T]) Nullable() *Column[T] + func (c *Column[T]) PrimaryKey() *Column[T] + func (c *Column[T]) References(other ColumnReference) *Column[T] + func (c *Column[T]) Unique() *Column[T] + type ColumnDef struct + AutoIncrement bool + Default any + DefaultSQL string + HasDefault bool + Name string + Nullable bool + PrimaryKey bool + Table *TableDef + Type ColumnType + Unique bool + type ColumnReference interface + ColumnDef func() *ColumnDef + type ColumnType struct + DataType DataType + EnumValues []string + LengthSemantics LengthSemantics + Precision int + Scale int + Size int + TimePrecision int + TimestampKind TimestampKind + type ComparisonExpr struct + Left Expression + Operator string + Right Expression + type ConstraintBuilder struct + func (b *ConstraintBuilder) On(columns ...ConstraintColumnSpec) *ConstraintBuilder + type ConstraintColumnSpec interface + type ConstraintDef struct + Check Predicate + Columns []*ColumnDef + Name string + OnDelete ForeignKeyAction + OnUpdate ForeignKeyAction + ReferencedCols []*ColumnDef + ReferencedTable *TableDef + Type ConstraintType + type ConstraintType string + const ConstraintCheck + const ConstraintForeignKey + const ConstraintPrimaryKey + const ConstraintUnique + type DataType string + const TypeBigInt + const TypeBigSerial + const TypeBoolean + const TypeBytes + const TypeDate + const TypeDecimal + const TypeDouble + const TypeEnum + const TypeInteger + const TypeJSON + const TypeJSONB + const TypeReal + const TypeSmallInt + const TypeText + const TypeTimestamp + const TypeTimestampTZ + const TypeUUID + const TypeVarChar + type Expression interface + type ForeignKeyAction string + const ForeignKeyActionCascade + const ForeignKeyActionNoAction + const ForeignKeyActionRestrict + const ForeignKeyActionSetDefault + const ForeignKeyActionSetNull + type ForeignKeyBuilder struct + func (b *ForeignKeyBuilder) On(columns ...ConstraintColumnSpec) *ForeignKeyBuilder + func (b *ForeignKeyBuilder) OnDelete(action ForeignKeyAction) *ForeignKeyBuilder + func (b *ForeignKeyBuilder) OnUpdate(action ForeignKeyAction) *ForeignKeyBuilder + func (b *ForeignKeyBuilder) References(columns ...ConstraintColumnSpec) *ForeignKeyBuilder + type ForeignKeyDef struct + Column *ColumnDef + Name string + OnDelete ForeignKeyAction + OnUpdate ForeignKeyAction + ReferencedColumn *ColumnDef + ReferencedTable *TableDef + type InExpr struct + Left Expression + Values []Expression + type IndexBuilder struct + func (b *IndexBuilder) On(columns ...IndexColumnSpec) *IndexBuilder + type IndexColumn struct + Column ColumnReference + Direction SortDirection + type IndexColumnSpec interface + type IndexDef struct + Columns []IndexColumn + Name string + Unique bool + Where string + type LengthSemantics string + const LengthSemanticsFixed + const LengthSemanticsUnspecified + const LengthSemanticsVariable + type LogicalExpr struct + Exprs []Predicate + Operator string + func And(predicates ...Predicate) LogicalExpr + func Or(predicates ...Predicate) LogicalExpr + type NullCheckExpr struct + Expr Expression + Negated bool + type OrderExpr struct + Direction SortDirection + Expr Expression + type PlaceholderExpr struct + Name string + func Placeholder(name string) PlaceholderExpr + type Predicate interface + type RawExpr struct + Args []any + SQL string + func Raw(sql string, args ...any) RawExpr + func (r RawExpr) As(alias string) AliasExpr + type RelationDef struct + Name string + SourceColumn *ColumnDef + TargetColumn *ColumnDef + TargetTable *TableDef + Type RelationType + type RelationType string + const RelationTypeBelongsTo + const RelationTypeHasMany + type SoftDelete struct + DeletedAt *time.Time + type SortDirection string + const SortAsc + const SortDesc + type TableDef struct + Alias string + Columns []*ColumnDef + Constraints []ConstraintDef + ForeignKeys []ForeignKeyDef + Indexes []IndexDef + Name string + Relations []RelationDef + func (t *TableDef) ColumnByName(name string) (*ColumnDef, bool) + func (t *TableDef) RelationByName(name string) (RelationDef, bool) + type TableModel struct + func (t *TableModel) BelongsTo(name string, source ColumnReference, target ColumnReference) + func (t *TableModel) BigInt(name string) *Column[int64] + func (t *TableModel) BigSerial(name string) *Column[int64] + func (t *TableModel) Boolean(name string) *Column[bool] + func (t *TableModel) Bytes(name string) *Column[[]byte] + func (t *TableModel) C(name string) *AnyColumn + func (t *TableModel) Check(name string, predicate Predicate) + func (t *TableModel) Date(name string) *Column[time.Time] + func (t *TableModel) Decimal(name string, precision, scale int) *Column[string] + func (t *TableModel) Double(name string) *Column[float64] + func (t *TableModel) Enum(name string, values ...string) *Column[string] + func (t *TableModel) ForeignKey(name string) *ForeignKeyBuilder + func (t *TableModel) HasMany(name string, source ColumnReference, target ColumnReference) + func (t *TableModel) Index(name string) *IndexBuilder + func (t *TableModel) Integer(name string) *Column[int32] + func (t *TableModel) JSON(name string) *Column[any] + func (t *TableModel) JSONB(name string) *Column[any] + func (t *TableModel) PrimaryKey(name string) *ConstraintBuilder + func (t *TableModel) Real(name string) *Column[float32] + func (t *TableModel) SmallInt(name string) *Column[int16] + func (t *TableModel) TableDef() *TableDef + func (t *TableModel) Text(name string) *Column[string] + func (t *TableModel) Timestamp(name string) *Column[time.Time] + func (t *TableModel) TimestampPrecision(name string, precision int) *Column[time.Time] + func (t *TableModel) TimestampTZ(name string) *Column[time.Time] + func (t *TableModel) TimestampTZPrecision(name string, precision int) *Column[time.Time] + func (t *TableModel) UUID(name string) *Column[string] + func (t *TableModel) Unique(name string) *ConstraintBuilder + func (t *TableModel) UniqueIndex(name string) *IndexBuilder + func (t *TableModel) VarChar(name string, size int) *Column[string] + type TableReference interface + TableDef func() *TableDef + type TimestampKind string + const TimestampKindUnspecified + const TimestampKindWithTZ + const TimestampKindWithoutTZ + type Timestamps struct + CreatedAt time.Time + UpdatedAt time.Time + type ValueExpr struct + Value any