Documentation
¶
Index ¶
- Variables
- type CategoriesAlias
- type CategoriesColumnAlias
- type CategoriesScanner
- type CategoriesTable
- type CurrencyAlias
- type CurrencyColumnAlias
- type CurrencyScanner
- type CurrencyTable
- type OrderItemsAlias
- type OrderItemsColumnAlias
- type OrderItemsScanner
- type OrderItemsTable
- type OrdersAlias
- type OrdersColumnAlias
- type OrdersScanner
- type OrdersTable
- type ProductCategoriesAlias
- type ProductCategoriesColumnAlias
- type ProductCategoriesScanner
- type ProductCategoriesTable
- type ProductTagsAlias
- type ProductTagsColumnAlias
- type ProductTagsScanner
- type ProductTagsTable
- type ProductsAlias
- type ProductsColumnAlias
- type ProductsScanner
- func (p *ProductsScanner) GetSetter(f ProductsColumnAlias) func() set.ValueSetter[ProductsColumnAlias]
- func (p *ProductsScanner) GetTarget(s string) func() any
- func (p *ProductsScanner) GetValue(f ProductsColumnAlias) func() any
- func (p *ProductsScanner) Relations() []exec.RelationLoader[*ProductsScanner]
- type ProductsTable
- type TagsAlias
- type TagsColumnAlias
- type TagsScanner
- type TagsTable
- type UsersAlias
- type UsersColumnAlias
- type UsersScanner
- type UsersTable
Constants ¶
This section is empty.
Variables ¶
var Categories = func() CategoriesTable { categoryIDCol := schema.BigSerialColumn(CategoriesColumnCategoryID, ddl.WithPrimaryKey[CategoriesColumnAlias]()) nameCol := schema.TextColumn(CategoriesColumnName, ddl.WithNotNull[CategoriesColumnAlias]()) slugCol := schema.TextColumn( CategoriesColumnSlug, ddl.WithNotNull[CategoriesColumnAlias](), ddl.WithUnique[CategoriesColumnAlias](), ) parentIDCol := schema.BigIntColumn( CategoriesColumnParentID, ddl.WithReferences[CategoriesColumnAlias]("categories", "category_id"), ) return CategoriesTable{ Table: schema.NewTable[CategoriesAlias, CategoriesColumnAlias, *CategoriesScanner]( CategoriesAliasName, func() *CategoriesScanner { return &CategoriesScanner{} }, []*ddl.ColumnDDL[CategoriesColumnAlias]{ categoryIDCol.DDL(), nameCol.DDL(), slugCol.DDL(), parentIDCol.DDL(), }, ), CategoryID: categoryIDCol, Name: nameCol, Slug: slugCol, ParentID: parentIDCol, } }()
Categories is the global categories table instance
var CategoriesProducts = schema.ManyToMany[ CategoriesAlias, CategoriesColumnAlias, *CategoriesScanner, ProductCategoriesAlias, ProductCategoriesColumnAlias, ProductsAlias, ProductsColumnAlias, *ProductsScanner, ]( CategoriesAliasName, ProductCategoriesRef, ProductsRef, CategoriesColumnCategoryID, ProductCategoriesColumnCategoryID, ProductCategoriesColumnProductID, ProductsColumnProductID, )
CategoriesProducts defines the inverse many-to-many relationship A category has many products through product_categories
var CategoriesRef schema.RelationTableAlias[CategoriesAlias] = Categories.Table
CategoriesRef is a reference to the categories table for relations
var Currency = func() CurrencyTable { codeCol := schema.CharColumn(CurrencyColumnCode, 3, ddl.WithPrimaryKey[CurrencyColumnAlias]()) nameCol := schema.TextColumn(CurrencyColumnName, ddl.WithNotNull[CurrencyColumnAlias]()) return CurrencyTable{ Table: schema.NewTable[CurrencyAlias, CurrencyColumnAlias, *CurrencyScanner]( CurrencyAliasName, func() *CurrencyScanner { return &CurrencyScanner{} }, []*ddl.ColumnDDL[CurrencyColumnAlias]{ codeCol.DDL(), nameCol.DDL(), }, ), Code: codeCol, Name: nameCol, } }()
Currency is the global currency table instance
var CurrencyRef schema.RelationTableAlias[CurrencyAlias] = Currency.Table
CurrencyRef is a reference to the currency table for relations
var OrderItems = func() OrderItemsTable { orderIDCol := schema.BigIntColumn( OrderItemsColumnOrderID, ddl.WithNotNull[OrderItemsColumnAlias](), ddl.WithReferences[OrderItemsColumnAlias]("orders", "order_id"), ddl.WithOnDelete[OrderItemsColumnAlias]("CASCADE"), ) lineNoCol := schema.IntegerColumn( OrderItemsColumnLineNo, ddl.WithNotNull[OrderItemsColumnAlias](), ddl.WithCheck[OrderItemsColumnAlias]("line_no > 0"), ) productIDCol := schema.BigIntColumn( OrderItemsColumnProductID, ddl.WithNotNull[OrderItemsColumnAlias](), ddl.WithReferences[OrderItemsColumnAlias]("products", "product_id"), ) qtyCol := schema.IntegerColumn( OrderItemsColumnQty, ddl.WithNotNull[OrderItemsColumnAlias](), ddl.WithCheck[OrderItemsColumnAlias]("qty > 0"), ) unitPriceCol := schema.NumericColumn( OrderItemsColumnUnitPrice, 12, 2, ddl.WithNotNull[OrderItemsColumnAlias](), ) return OrderItemsTable{ Table: schema.NewTable[OrderItemsAlias, OrderItemsColumnAlias, *OrderItemsScanner]( OrderItemsAliasName, func() *OrderItemsScanner { return &OrderItemsScanner{} }, []*ddl.ColumnDDL[OrderItemsColumnAlias]{ orderIDCol.DDL(), lineNoCol.DDL(), productIDCol.DDL(), qtyCol.DDL(), unitPriceCol.DDL(), }, ddl.WithUniqueColumns[OrderItemsAlias, OrderItemsColumnAlias]([]OrderItemsColumnAlias{ OrderItemsColumnOrderID, OrderItemsColumnProductID, }), ddl.WithIndexes[OrderItemsAlias, OrderItemsColumnAlias]( ddl.NewIndex[OrderItemsAlias, OrderItemsColumnAlias]( string(OrderItemsIndexProduct), OrderItemsAliasName, ).OnColumns(OrderItemsColumnProductID), ), ), OrderID: orderIDCol, LineNo: lineNoCol, ProductID: productIDCol, Qty: qtyCol, UnitPrice: unitPriceCol, } }()
OrderItems is the global order_items table instance
var OrderItemsRef schema.RelationTableAlias[OrderItemsAlias] = OrderItems.Table
OrderItemsRef is a reference to the order_items table for relations
var Orders = func() OrdersTable { orderIDCol := schema.BigSerialColumn(OrdersColumnOrderID, ddl.WithPrimaryKey[OrdersColumnAlias]()) userIDCol := schema.BigIntColumn( OrdersColumnUserID, ddl.WithNotNull[OrdersColumnAlias](), ddl.WithReferences[OrdersColumnAlias]("users", "user_id"), ) statusCol := schema.TextColumn( OrdersColumnStatus, ddl.WithNotNull[OrdersColumnAlias](), ddl.WithCheck[OrdersColumnAlias]("status IN ('NEW', 'PAID', 'CANCELLED', 'SHIPPED')"), ) currencyCol := schema.CharColumn( OrdersColumnCurrency, 3, ddl.WithNotNull[OrdersColumnAlias](), ddl.WithReferences[OrdersColumnAlias]("currency", "code"), ) createdAtCol := schema.TimestamptzColumn( OrdersColumnCreatedAt, ddl.WithNotNull[OrdersColumnAlias](), ddl.WithDefault[OrdersColumnAlias]("now()"), ) updatedAtCol := schema.TimestamptzColumn( OrdersColumnUpdatedAt, ddl.WithNotNull[OrdersColumnAlias](), ddl.WithDefault[OrdersColumnAlias]("now()"), ) return OrdersTable{ Table: schema.NewTable[OrdersAlias, OrdersColumnAlias, *OrdersScanner]( OrdersAliasName, func() *OrdersScanner { return &OrdersScanner{} }, []*ddl.ColumnDDL[OrdersColumnAlias]{ orderIDCol.DDL(), userIDCol.DDL(), statusCol.DDL(), currencyCol.DDL(), createdAtCol.DDL(), updatedAtCol.DDL(), }, ddl.WithIndexes[OrdersAlias, OrdersColumnAlias]( ddl.NewIndex[OrdersAlias, OrdersColumnAlias]( string(OrdersIndexUserCreated), OrdersAliasName, ).OnColumns(OrdersColumnUserID, OrdersColumnCreatedAtDesc), ), ), OrderID: orderIDCol, UserID: userIDCol, Status: statusCol, Currency: currencyCol, CreatedAt: createdAtCol, UpdatedAt: updatedAtCol, } }()
Orders is the global orders table instance
var OrdersCurrency = schema.BelongsTo[OrdersAlias, OrdersColumnAlias, *OrdersScanner, CurrencyAlias, CurrencyColumnAlias, *CurrencyScanner]( OrdersAliasName, CurrencyRef, OrdersColumnCurrency, CurrencyColumnCode, )
OrdersCurrency defines the belongs-to relationship between orders and currency An order belongs to a currency
var OrdersRef schema.RelationTableAlias[OrdersAlias] = Orders.Table
OrdersRef is a reference to the orders table for relations
var OrdersUser = schema.BelongsTo[OrdersAlias, OrdersColumnAlias, *OrdersScanner, UsersAlias, UsersColumnAlias, *UsersScanner]( OrdersAliasName, UsersRef, OrdersColumnUserID, UsersColumnUserID, )
OrdersUser defines the belongs-to relationship between orders and users An order belongs to a user
var ProductCategories = func() ProductCategoriesTable { productIDCol := schema.BigIntColumn( ProductCategoriesColumnProductID, ddl.WithNotNull[ProductCategoriesColumnAlias](), ddl.WithReferences[ProductCategoriesColumnAlias]("products", "product_id"), ddl.WithOnDelete[ProductCategoriesColumnAlias]("CASCADE"), ) categoryIDCol := schema.BigIntColumn( ProductCategoriesColumnCategoryID, ddl.WithNotNull[ProductCategoriesColumnAlias](), ddl.WithReferences[ProductCategoriesColumnAlias]("categories", "category_id"), ddl.WithOnDelete[ProductCategoriesColumnAlias]("CASCADE"), ) return ProductCategoriesTable{ Table: schema.NewTable[ProductCategoriesAlias, ProductCategoriesColumnAlias, *ProductCategoriesScanner]( ProductCategoriesAliasName, func() *ProductCategoriesScanner { return &ProductCategoriesScanner{} }, []*ddl.ColumnDDL[ProductCategoriesColumnAlias]{ productIDCol.DDL(), categoryIDCol.DDL(), }, ddl.WithPrimaryKeyColumns[ProductCategoriesAlias, ProductCategoriesColumnAlias]([]ProductCategoriesColumnAlias{ ProductCategoriesColumnProductID, ProductCategoriesColumnCategoryID, }), ), ProductID: productIDCol, CategoryID: categoryIDCol, } }()
ProductCategories is the global product_categories table instance
var ProductCategoriesRef schema.RelationTableAlias[ProductCategoriesAlias] = ProductCategories.Table
ProductCategoriesRef is a reference to the product_categories table for relations
var ProductTags = func() ProductTagsTable { productIDCol := schema.BigIntColumn( ProductTagsColumnProductID, ddl.WithNotNull[ProductTagsColumnAlias](), ddl.WithReferences[ProductTagsColumnAlias]("products", "product_id"), ddl.WithOnDelete[ProductTagsColumnAlias]("CASCADE"), ) tagIDCol := schema.BigIntColumn( ProductTagsColumnTagID, ddl.WithNotNull[ProductTagsColumnAlias](), ddl.WithReferences[ProductTagsColumnAlias]("tags", "tag_id"), ddl.WithOnDelete[ProductTagsColumnAlias]("CASCADE"), ) return ProductTagsTable{ Table: schema.NewTable[ProductTagsAlias, ProductTagsColumnAlias, *ProductTagsScanner]( ProductTagsAliasName, func() *ProductTagsScanner { return &ProductTagsScanner{} }, []*ddl.ColumnDDL[ProductTagsColumnAlias]{ productIDCol.DDL(), tagIDCol.DDL(), }, ddl.WithPrimaryKeyColumns[ProductTagsAlias, ProductTagsColumnAlias]([]ProductTagsColumnAlias{ ProductTagsColumnProductID, ProductTagsColumnTagID, }), ), ProductID: productIDCol, TagID: tagIDCol, } }()
ProductTags is the global product_tags table instance
var ProductTagsRef schema.RelationTableAlias[ProductTagsAlias] = ProductTags.Table
ProductTagsRef is a reference to the product_tags table for relations
var Products = func() ProductsTable { productIDCol := schema.BigSerialColumn(ProductsColumnProductID, ddl.WithPrimaryKey[ProductsColumnAlias]()) skuCol := schema.TextColumn( ProductsColumnSKU, ddl.WithNotNull[ProductsColumnAlias](), ddl.WithUnique[ProductsColumnAlias](), ) nameCol := schema.TextColumn(ProductsColumnName, ddl.WithNotNull[ProductsColumnAlias]()) priceCol := schema.NumericColumn(ProductsColumnPrice, 12, 2, ddl.WithNotNull[ProductsColumnAlias]()) currencyCol := schema.CharColumn( ProductsColumnCurrency, 3, ddl.WithNotNull[ProductsColumnAlias](), ddl.WithReferences[ProductsColumnAlias]("currency", "code"), ) stockQtyCol := schema.IntegerColumn( ProductsColumnStockQty, ddl.WithNotNull[ProductsColumnAlias](), ddl.WithDefault[ProductsColumnAlias]("0"), ddl.WithCheck[ProductsColumnAlias]("stock_qty >= 0"), ) isDeletedCol := schema.BooleanColumn( ProductsColumnIsDeleted, ddl.WithNotNull[ProductsColumnAlias](), ddl.WithDefault[ProductsColumnAlias]("false"), ) createdAtCol := schema.TimestamptzColumn( ProductsColumnCreatedAt, ddl.WithNotNull[ProductsColumnAlias](), ddl.WithDefault[ProductsColumnAlias]("now()"), ) updatedAtCol := schema.TimestamptzColumn( ProductsColumnUpdatedAt, ddl.WithNotNull[ProductsColumnAlias](), ddl.WithDefault[ProductsColumnAlias]("now()"), ) return ProductsTable{ Table: schema.NewTable[ProductsAlias, ProductsColumnAlias, *ProductsScanner]( ProductsAliasName, func() *ProductsScanner { return &ProductsScanner{} }, []*ddl.ColumnDDL[ProductsColumnAlias]{ productIDCol.DDL(), skuCol.DDL(), nameCol.DDL(), priceCol.DDL(), currencyCol.DDL(), stockQtyCol.DDL(), isDeletedCol.DDL(), createdAtCol.DDL(), updatedAtCol.DDL(), }, ddl.WithIndexes[ProductsAlias, ProductsColumnAlias]( ddl.NewIndex[ProductsAlias, ProductsColumnAlias]( string(ProductsIndexNotDeleted), ProductsAliasName, ).OnColumns(ProductsColumnProductID).Where("is_deleted = false"), ), ), ProductID: productIDCol, SKU: skuCol, Name: nameCol, Price: priceCol, Currency: currencyCol, StockQty: stockQtyCol, IsDeleted: isDeletedCol, CreatedAt: createdAtCol, UpdatedAt: updatedAtCol, } }()
Products is the global products table instance
var ProductsCategories = schema.ManyToMany[ ProductsAlias, ProductsColumnAlias, *ProductsScanner, ProductCategoriesAlias, ProductCategoriesColumnAlias, CategoriesAlias, CategoriesColumnAlias, *CategoriesScanner, ]( ProductsAliasName, ProductCategoriesRef, CategoriesRef, ProductsColumnProductID, ProductCategoriesColumnProductID, ProductCategoriesColumnCategoryID, CategoriesColumnCategoryID, )
ProductsCategories defines the many-to-many relationship between products and categories A product can belong to many categories, and a category can have many products
var ProductsRef schema.RelationTableAlias[ProductsAlias] = Products.Table
ProductsRef is a reference to the products table for relations
var ProductsTags = schema.ManyToMany[ ProductsAlias, ProductsColumnAlias, *ProductsScanner, ProductTagsAlias, ProductTagsColumnAlias, TagsAlias, TagsColumnAlias, *TagsScanner, ]( ProductsAliasName, ProductTagsRef, TagsRef, ProductsColumnProductID, ProductTagsColumnProductID, ProductTagsColumnTagID, TagsColumnTagID, )
ProductsTags defines the many-to-many relationship between products and tags A product can have many tags, and a tag can be on many products
var Tags = func() TagsTable { tagIDCol := schema.BigSerialColumn(TagsColumnTagID, ddl.WithPrimaryKey[TagsColumnAlias]()) nameCol := schema.TextColumn(TagsColumnName, ddl.WithNotNull[TagsColumnAlias]()) slugCol := schema.TextColumn( TagsColumnSlug, ddl.WithNotNull[TagsColumnAlias](), ddl.WithUnique[TagsColumnAlias](), ) return TagsTable{ Table: schema.NewTable[TagsAlias, TagsColumnAlias, *TagsScanner]( TagsAliasName, func() *TagsScanner { return &TagsScanner{} }, []*ddl.ColumnDDL[TagsColumnAlias]{ tagIDCol.DDL(), nameCol.DDL(), slugCol.DDL(), }, ), TagID: tagIDCol, Name: nameCol, Slug: slugCol, } }()
Tags is the global tags table instance
var TagsProducts = schema.ManyToMany[ TagsAlias, TagsColumnAlias, *TagsScanner, ProductTagsAlias, ProductTagsColumnAlias, ProductsAlias, ProductsColumnAlias, *ProductsScanner, ]( TagsAliasName, ProductTagsRef, ProductsRef, TagsColumnTagID, ProductTagsColumnTagID, ProductTagsColumnProductID, ProductsColumnProductID, )
TagsProducts defines the inverse many-to-many relationship A tag has many products through product_tags
var TagsRef schema.RelationTableAlias[TagsAlias] = Tags.Table
TagsRef is a reference to the tags table for relations
var Users = func() UsersTable { userIDCol := schema.BigSerialColumn(UsersColumnUserID, ddl.WithPrimaryKey[UsersColumnAlias]()) emailCol := schema.TextColumn( UsersColumnEmail, ddl.WithNotNull[UsersColumnAlias](), ddl.WithUnique[UsersColumnAlias](), ) fullNameCol := schema.TextColumn(UsersColumnFullName, ddl.WithNotNull[UsersColumnAlias]()) isActiveCol := schema.BooleanColumn( UsersColumnIsActive, ddl.WithNotNull[UsersColumnAlias](), ddl.WithDefault[UsersColumnAlias]("true"), ) createdAtCol := schema.TimestamptzColumn( UsersColumnCreatedAt, ddl.WithNotNull[UsersColumnAlias](), ddl.WithDefault[UsersColumnAlias]("now()"), ) updatedAtCol := schema.TimestamptzColumn( UsersColumnUpdatedAt, ddl.WithNotNull[UsersColumnAlias](), ddl.WithDefault[UsersColumnAlias]("now()"), ) return UsersTable{ Table: schema.NewTable[UsersAlias, UsersColumnAlias, *UsersScanner]( UsersAliasName, func() *UsersScanner { return &UsersScanner{} }, []*ddl.ColumnDDL[UsersColumnAlias]{ userIDCol.DDL(), emailCol.DDL(), fullNameCol.DDL(), isActiveCol.DDL(), createdAtCol.DDL(), updatedAtCol.DDL(), }, ), UserID: userIDCol, Email: emailCol, FullName: fullNameCol, IsActive: isActiveCol, CreatedAt: createdAtCol, UpdatedAt: updatedAtCol, } }()
Users is the global users table instance
var UsersOrders = schema.HasMany[UsersAlias, UsersColumnAlias, *UsersScanner, OrdersAlias, OrdersColumnAlias, *OrdersScanner]( UsersAliasName, OrdersRef, OrdersColumnUserID, UsersColumnUserID, )
UsersOrders defines the one-to-many relationship between users and orders A user has many orders
var UsersRef schema.RelationTableAlias[UsersAlias] = Users.Table
UsersRef is a reference to the users table for relations
Functions ¶
This section is empty.
Types ¶
type CategoriesAlias ¶
type CategoriesAlias string
CategoriesAlias is the table alias type for the categories table
const CategoriesAliasName CategoriesAlias = "categories"
func (CategoriesAlias) String ¶
func (c CategoriesAlias) String() string
type CategoriesColumnAlias ¶
type CategoriesColumnAlias string
CategoriesColumnAlias represents column names for the categories table
const ( CategoriesColumnCategoryID CategoriesColumnAlias = "category_id" CategoriesColumnName CategoriesColumnAlias = "name" CategoriesColumnSlug CategoriesColumnAlias = "slug" CategoriesColumnParentID CategoriesColumnAlias = "parent_id" )
func (CategoriesColumnAlias) String ¶
func (c CategoriesColumnAlias) String() string
type CategoriesScanner ¶
type CategoriesScanner struct {
CategoryID int64
Name string
Slug string
ParentID *int64
Products []*ProductsScanner
}
CategoriesScanner is the scanner struct for categories rows
func (*CategoriesScanner) GetSetter ¶
func (c *CategoriesScanner) GetSetter(f CategoriesColumnAlias) func() set.ValueSetter[CategoriesColumnAlias]
func (*CategoriesScanner) GetTarget ¶
func (c *CategoriesScanner) GetTarget(s string) func() any
func (*CategoriesScanner) GetValue ¶
func (c *CategoriesScanner) GetValue(f CategoriesColumnAlias) func() any
type CategoriesTable ¶
type CategoriesTable struct {
*schema.Table[CategoriesAlias, CategoriesColumnAlias, *CategoriesScanner]
CategoryID schema.BigSerialColumnI[CategoriesColumnAlias]
Name schema.TextColumnI[CategoriesColumnAlias]
Slug schema.TextColumnI[CategoriesColumnAlias]
ParentID schema.BigIntColumnI[CategoriesColumnAlias]
}
CategoriesTable represents the categories table with its columns
type CurrencyAlias ¶
type CurrencyAlias string
CurrencyAlias is the table alias type for the currency table
const CurrencyAliasName CurrencyAlias = "currency"
func (CurrencyAlias) String ¶
func (c CurrencyAlias) String() string
type CurrencyColumnAlias ¶
type CurrencyColumnAlias string
CurrencyColumnAlias represents column names for the currency table
const ( CurrencyColumnCode CurrencyColumnAlias = "code" CurrencyColumnName CurrencyColumnAlias = "name" )
func (CurrencyColumnAlias) String ¶
func (c CurrencyColumnAlias) String() string
type CurrencyScanner ¶
CurrencyScanner is the scanner struct for currency rows
func (*CurrencyScanner) GetSetter ¶
func (c *CurrencyScanner) GetSetter(f CurrencyColumnAlias) func() set.ValueSetter[CurrencyColumnAlias]
func (*CurrencyScanner) GetTarget ¶
func (c *CurrencyScanner) GetTarget(s string) func() any
func (*CurrencyScanner) GetValue ¶
func (c *CurrencyScanner) GetValue(f CurrencyColumnAlias) func() any
type CurrencyTable ¶
type CurrencyTable struct {
*schema.Table[CurrencyAlias, CurrencyColumnAlias, *CurrencyScanner]
Code schema.CharColumnI[CurrencyColumnAlias]
Name schema.TextColumnI[CurrencyColumnAlias]
}
CurrencyTable represents the currency table with its columns
type OrderItemsAlias ¶
type OrderItemsAlias string
OrderItemsAlias is the table alias type for the order_items table
const OrderItemsAliasName OrderItemsAlias = "order_items"
const OrderItemsIndexProduct OrderItemsAlias = "ix_order_items_product"
Index names
func (OrderItemsAlias) String ¶
func (o OrderItemsAlias) String() string
type OrderItemsColumnAlias ¶
type OrderItemsColumnAlias string
OrderItemsColumnAlias represents column names for the order_items table
const ( OrderItemsColumnOrderID OrderItemsColumnAlias = "order_id" OrderItemsColumnLineNo OrderItemsColumnAlias = "line_no" OrderItemsColumnProductID OrderItemsColumnAlias = "product_id" OrderItemsColumnQty OrderItemsColumnAlias = "qty" OrderItemsColumnUnitPrice OrderItemsColumnAlias = "unit_price" )
func (OrderItemsColumnAlias) String ¶
func (o OrderItemsColumnAlias) String() string
type OrderItemsScanner ¶
type OrderItemsScanner struct {
OrderID int64
LineNo int32
ProductID int64
Qty int32
UnitPrice float64
}
OrderItemsScanner is the scanner struct for order_items rows
func (*OrderItemsScanner) GetSetter ¶
func (o *OrderItemsScanner) GetSetter(f OrderItemsColumnAlias) func() set.ValueSetter[OrderItemsColumnAlias]
func (*OrderItemsScanner) GetTarget ¶
func (o *OrderItemsScanner) GetTarget(s string) func() any
func (*OrderItemsScanner) GetValue ¶
func (o *OrderItemsScanner) GetValue(f OrderItemsColumnAlias) func() any
type OrderItemsTable ¶
type OrderItemsTable struct {
*schema.Table[OrderItemsAlias, OrderItemsColumnAlias, *OrderItemsScanner]
OrderID schema.BigIntColumnI[OrderItemsColumnAlias]
LineNo schema.IntegerColumnI[OrderItemsColumnAlias]
ProductID schema.BigIntColumnI[OrderItemsColumnAlias]
Qty schema.IntegerColumnI[OrderItemsColumnAlias]
UnitPrice schema.NumericColumnI[OrderItemsColumnAlias]
}
OrderItemsTable represents the order_items table with its columns
type OrdersAlias ¶
type OrdersAlias string
OrdersAlias is the table alias type for the orders table
const OrdersAliasName OrdersAlias = "orders"
const OrdersIndexUserCreated OrdersAlias = "ix_orders_user_created"
Index names
func (OrdersAlias) String ¶
func (o OrdersAlias) String() string
type OrdersColumnAlias ¶
type OrdersColumnAlias string
OrdersColumnAlias represents column names for the orders table
const ( OrdersColumnOrderID OrdersColumnAlias = "order_id" OrdersColumnUserID OrdersColumnAlias = "user_id" OrdersColumnStatus OrdersColumnAlias = "status" OrdersColumnCurrency OrdersColumnAlias = "currency" OrdersColumnCreatedAt OrdersColumnAlias = "created_at" OrdersColumnUpdatedAt OrdersColumnAlias = "updated_at" OrdersColumnCreatedAtDesc OrdersColumnAlias = "created_at DESC" )
func (OrdersColumnAlias) String ¶
func (o OrdersColumnAlias) String() string
type OrdersScanner ¶
type OrdersScanner struct {
OrderID int64
UserID int64
Status string
Currency string
CreatedAt time.Time
UpdatedAt time.Time
User *UsersScanner
Money *CurrencyScanner
}
OrdersScanner is the scanner struct for orders rows
func (*OrdersScanner) GetSetter ¶
func (o *OrdersScanner) GetSetter(f OrdersColumnAlias) func() set.ValueSetter[OrdersColumnAlias]
func (*OrdersScanner) GetTarget ¶
func (o *OrdersScanner) GetTarget(s string) func() any
func (*OrdersScanner) GetValue ¶
func (o *OrdersScanner) GetValue(f OrdersColumnAlias) func() any
func (*OrdersScanner) Relations ¶
func (o *OrdersScanner) Relations() []exec.RelationLoader[*OrdersScanner]
Relations returns the relation loaders for the orders table
type OrdersTable ¶
type OrdersTable struct {
*schema.Table[OrdersAlias, OrdersColumnAlias, *OrdersScanner]
OrderID schema.BigSerialColumnI[OrdersColumnAlias]
UserID schema.BigIntColumnI[OrdersColumnAlias]
Status schema.TextColumnI[OrdersColumnAlias]
Currency schema.CharColumnI[OrdersColumnAlias]
CreatedAt schema.TimestamptzColumnI[OrdersColumnAlias]
UpdatedAt schema.TimestamptzColumnI[OrdersColumnAlias]
}
OrdersTable represents the orders table with its columns
type ProductCategoriesAlias ¶
type ProductCategoriesAlias string
ProductCategoriesAlias is the table alias type for the product_categories pivot table
const ProductCategoriesAliasName ProductCategoriesAlias = "product_categories"
func (ProductCategoriesAlias) String ¶
func (p ProductCategoriesAlias) String() string
type ProductCategoriesColumnAlias ¶
type ProductCategoriesColumnAlias string
ProductCategoriesColumnAlias represents column names for the product_categories table
const ( ProductCategoriesColumnProductID ProductCategoriesColumnAlias = "product_id" ProductCategoriesColumnCategoryID ProductCategoriesColumnAlias = "category_id" )
func (ProductCategoriesColumnAlias) String ¶
func (p ProductCategoriesColumnAlias) String() string
type ProductCategoriesScanner ¶
ProductCategoriesScanner is the scanner struct for product_categories rows
func (*ProductCategoriesScanner) GetSetter ¶
func (p *ProductCategoriesScanner) GetSetter(f ProductCategoriesColumnAlias) func() set.ValueSetter[ProductCategoriesColumnAlias]
func (*ProductCategoriesScanner) GetTarget ¶
func (p *ProductCategoriesScanner) GetTarget(s string) func() any
func (*ProductCategoriesScanner) GetValue ¶
func (p *ProductCategoriesScanner) GetValue(f ProductCategoriesColumnAlias) func() any
type ProductCategoriesTable ¶
type ProductCategoriesTable struct {
*schema.Table[ProductCategoriesAlias, ProductCategoriesColumnAlias, *ProductCategoriesScanner]
ProductID schema.BigIntColumnI[ProductCategoriesColumnAlias]
CategoryID schema.BigIntColumnI[ProductCategoriesColumnAlias]
}
ProductCategoriesTable represents the product_categories pivot table
type ProductTagsAlias ¶
type ProductTagsAlias string
ProductTagsAlias is the table alias type for the product_tags pivot table
const ProductTagsAliasName ProductTagsAlias = "product_tags"
func (ProductTagsAlias) String ¶
func (p ProductTagsAlias) String() string
type ProductTagsColumnAlias ¶
type ProductTagsColumnAlias string
ProductTagsColumnAlias represents column names for the product_tags table
const ( ProductTagsColumnProductID ProductTagsColumnAlias = "product_id" ProductTagsColumnTagID ProductTagsColumnAlias = "tag_id" )
func (ProductTagsColumnAlias) String ¶
func (p ProductTagsColumnAlias) String() string
type ProductTagsScanner ¶
ProductTagsScanner is the scanner struct for product_tags rows
func (*ProductTagsScanner) GetSetter ¶
func (p *ProductTagsScanner) GetSetter(f ProductTagsColumnAlias) func() set.ValueSetter[ProductTagsColumnAlias]
func (*ProductTagsScanner) GetTarget ¶
func (p *ProductTagsScanner) GetTarget(s string) func() any
func (*ProductTagsScanner) GetValue ¶
func (p *ProductTagsScanner) GetValue(f ProductTagsColumnAlias) func() any
type ProductTagsTable ¶
type ProductTagsTable struct {
*schema.Table[ProductTagsAlias, ProductTagsColumnAlias, *ProductTagsScanner]
ProductID schema.BigIntColumnI[ProductTagsColumnAlias]
TagID schema.BigIntColumnI[ProductTagsColumnAlias]
}
ProductTagsTable represents the product_tags pivot table
type ProductsAlias ¶
type ProductsAlias string
ProductsAlias is the table alias type for the products table
const ProductsAliasName ProductsAlias = "products"
const ProductsIndexNotDeleted ProductsAlias = "ix_products_not_deleted"
Index names
func (ProductsAlias) String ¶
func (p ProductsAlias) String() string
type ProductsColumnAlias ¶
type ProductsColumnAlias string
ProductsColumnAlias represents column names for the products table
const ( ProductsColumnProductID ProductsColumnAlias = "product_id" ProductsColumnSKU ProductsColumnAlias = "sku" ProductsColumnName ProductsColumnAlias = "name" ProductsColumnPrice ProductsColumnAlias = "price" ProductsColumnCurrency ProductsColumnAlias = "currency" ProductsColumnStockQty ProductsColumnAlias = "stock_qty" ProductsColumnIsDeleted ProductsColumnAlias = "is_deleted" ProductsColumnCreatedAt ProductsColumnAlias = "created_at" ProductsColumnUpdatedAt ProductsColumnAlias = "updated_at" )
func (ProductsColumnAlias) String ¶
func (p ProductsColumnAlias) String() string
type ProductsScanner ¶
type ProductsScanner struct {
ProductID int64
SKU string
Name string
Price float64
Currency string
StockQty int32
IsDeleted bool
CreatedAt time.Time
UpdatedAt time.Time
Categories []*CategoriesScanner // M2M relation
Tags []*TagsScanner // M2M relation
}
ProductsScanner is the scanner struct for products rows
func (*ProductsScanner) GetSetter ¶
func (p *ProductsScanner) GetSetter(f ProductsColumnAlias) func() set.ValueSetter[ProductsColumnAlias]
func (*ProductsScanner) GetTarget ¶
func (p *ProductsScanner) GetTarget(s string) func() any
func (*ProductsScanner) GetValue ¶
func (p *ProductsScanner) GetValue(f ProductsColumnAlias) func() any
func (*ProductsScanner) Relations ¶
func (p *ProductsScanner) Relations() []exec.RelationLoader[*ProductsScanner]
Relations returns the relation loaders for the products table
type ProductsTable ¶
type ProductsTable struct {
*schema.Table[ProductsAlias, ProductsColumnAlias, *ProductsScanner]
ProductID schema.BigSerialColumnI[ProductsColumnAlias]
SKU schema.TextColumnI[ProductsColumnAlias]
Name schema.TextColumnI[ProductsColumnAlias]
Price schema.NumericColumnI[ProductsColumnAlias]
Currency schema.CharColumnI[ProductsColumnAlias]
StockQty schema.IntegerColumnI[ProductsColumnAlias]
IsDeleted schema.BooleanColumnI[ProductsColumnAlias]
CreatedAt schema.TimestamptzColumnI[ProductsColumnAlias]
UpdatedAt schema.TimestamptzColumnI[ProductsColumnAlias]
}
ProductsTable represents the products table with its columns
type TagsAlias ¶
type TagsAlias string
TagsAlias is the table alias type for the tags table
const TagsAliasName TagsAlias = "tags"
type TagsColumnAlias ¶
type TagsColumnAlias string
TagsColumnAlias represents column names for the tags table
const ( TagsColumnTagID TagsColumnAlias = "tag_id" TagsColumnName TagsColumnAlias = "name" TagsColumnSlug TagsColumnAlias = "slug" )
func (TagsColumnAlias) String ¶
func (t TagsColumnAlias) String() string
type TagsScanner ¶
type TagsScanner struct {
TagID int64
Name string
Slug string
Products []*ProductsScanner
}
TagsScanner is the scanner struct for tags rows
func (*TagsScanner) GetSetter ¶
func (t *TagsScanner) GetSetter(f TagsColumnAlias) func() set.ValueSetter[TagsColumnAlias]
func (*TagsScanner) GetTarget ¶
func (t *TagsScanner) GetTarget(s string) func() any
func (*TagsScanner) GetValue ¶
func (t *TagsScanner) GetValue(f TagsColumnAlias) func() any
type TagsTable ¶
type TagsTable struct {
*schema.Table[TagsAlias, TagsColumnAlias, *TagsScanner]
TagID schema.BigSerialColumnI[TagsColumnAlias]
Name schema.TextColumnI[TagsColumnAlias]
Slug schema.TextColumnI[TagsColumnAlias]
}
TagsTable represents the tags table with its columns
type UsersAlias ¶
type UsersAlias string
UsersAlias is the table alias type for the users table
const UsersAliasName UsersAlias = "users"
func (UsersAlias) String ¶
func (u UsersAlias) String() string
type UsersColumnAlias ¶
type UsersColumnAlias string
UsersColumnAlias represents column names for the users table
const ( UsersColumnUserID UsersColumnAlias = "user_id" UsersColumnEmail UsersColumnAlias = "email" UsersColumnFullName UsersColumnAlias = "full_name" UsersColumnIsActive UsersColumnAlias = "is_active" UsersColumnCreatedAt UsersColumnAlias = "created_at" UsersColumnUpdatedAt UsersColumnAlias = "updated_at" )
func (UsersColumnAlias) String ¶
func (u UsersColumnAlias) String() string
type UsersScanner ¶
type UsersScanner struct {
UserID int64
Email string
FullName string
IsActive bool
CreatedAt time.Time
UpdatedAt time.Time
Orders []*OrdersScanner
}
UsersScanner is the scanner struct for users rows
func (*UsersScanner) GetSetter ¶
func (u *UsersScanner) GetSetter(f UsersColumnAlias) func() set.ValueSetter[UsersColumnAlias]
func (*UsersScanner) GetTarget ¶
func (u *UsersScanner) GetTarget(s string) func() any
func (*UsersScanner) GetValue ¶
func (u *UsersScanner) GetValue(f UsersColumnAlias) func() any
func (*UsersScanner) Relations ¶
func (u *UsersScanner) Relations() []exec.RelationLoader[*UsersScanner]
Relations returns the relation loaders for the users table
type UsersTable ¶
type UsersTable struct {
*schema.Table[UsersAlias, UsersColumnAlias, *UsersScanner]
UserID schema.BigSerialColumnI[UsersColumnAlias]
Email schema.TextColumnI[UsersColumnAlias]
FullName schema.TextColumnI[UsersColumnAlias]
IsActive schema.BooleanColumnI[UsersColumnAlias]
CreatedAt schema.TimestamptzColumnI[UsersColumnAlias]
UpdatedAt schema.TimestamptzColumnI[UsersColumnAlias]
}
UsersTable represents the users table with its columns