Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Annotation ¶
type Annotation struct { // The StructTag option allows overriding the struct-tag // of the `Edges` field in the generated entity. For example: // // edge.Annotation{ // StructTag: `json: "pet_edges"` // } // StructTag string }
Annotation is a builtin schema annotation for configuring the edges' behavior in codegen.
func (Annotation) Merge ¶
func (a Annotation) Merge(other schema.Annotation) schema.Annotation
Merge implements the schema.Merger interface.
type Descriptor ¶
type Descriptor struct { Tag string // struct tag. Type string // edge type. Name string // edge name. Field string // edge field name (e.g. foreign-key). RefName string // ref name; inverse only. Ref *Descriptor // edge reference; to/from of the same type. Unique bool // unique edge. Inverse bool // inverse edge. Required bool // required on creation. StorageKey *StorageKey // optional storage-key configuration. Annotations []schema.Annotation // edge annotations. }
A Descriptor for edge configuration.
type StorageKey ¶
type StorageKey struct { Table string // Table or label. Symbols []string // Symbols/names of the foreign-key constraints. Columns []string // Foreign-key columns. }
StorageKey holds the configuration for edge storage-key.
type StorageOption ¶
type StorageOption func(*StorageKey)
StorageOption allows for setting the storage configuration using functional options.
func Column ¶
func Column(name string) StorageOption
Column sets the foreign-key column name option for O2O, O2M and M2O edges. Note that, for M2M edges (2 columns), use the edge.Columns option.
func Columns ¶
func Columns(to, from string) StorageOption
Columns sets the foreign-key column names option for M2M edges. The 1st column defines the name of the "To" edge, and the 2nd defines the name of the "From" edge (inverse edge). Note that, for O2O, O2M and M2O edges, use the edge.Column option.
func Symbol ¶
func Symbol(symbol string) StorageOption
Symbol sets the symbol/name of the foreign-key constraint for O2O, O2M and M2O edges. Note that, for M2M edges (2 columns and 2 constraints), use the edge.Symbols option.
func Symbols ¶
func Symbols(to, from string) StorageOption
Symbols sets the symbol/name of the foreign-key constraints for M2M edges. The 1st column defines the name of the "To" edge, and the 2nd defines the name of the "From" edge (inverse edge). Note that, for O2O, O2M and M2O edges, use the edge.Symbol option.