package index
import "entgo.io/ent/schema/index"
Index ¶
- type Builder
- func Edges(edges ...string) *Builder
- func Fields(fields ...string) *Builder
- func (b *Builder) Annotations(annotations ...schema.Annotation) *Builder
- func (b *Builder) Descriptor() *Descriptor
- func (b *Builder) Edges(edges ...string) *Builder
- func (b *Builder) Fields(fields ...string) *Builder
- func (b *Builder) StorageKey(key string) *Builder
- func (b *Builder) Unique() *Builder
- type Descriptor
Types ¶
type Builder ¶
type Builder struct {
// contains filtered or unexported fields
}
Builder for indexes on vertex columns and edges in the graph.
func Edges ¶
Edges creates an index on the given vertex edge fields. Note that indexes are implemented only for SQL dialects, and does not support gremlin.
func (T) Indexes() []ent.Index { // Unique index of field under 2 edges. index.Fields("name"). Edges("parent", "type"). Unique(), }
func Fields ¶
Fields creates an index on the given vertex fields. Note that indexes are implemented only for SQL dialects, and does not support gremlin.
func (T) Indexes() []ent.Index { // Unique index on 2 fields. index.Fields("first", "last"). Unique(), // Unique index of field under specific edge. index.Fields("name"). Edges("parent"). Unique(), }
func (*Builder) Annotations ¶
func (b *Builder) Annotations(annotations ...schema.Annotation) *Builder
Annotations adds a list of annotations to the index object to be used by codegen extensions.
func (T) Indexes() []ent.Index { // Partial index on name where the entity is not deleted. index.Fields("name"). Annotations(entsql.Prefix(100)) }
func (*Builder) Descriptor ¶
func (b *Builder) Descriptor() *Descriptor
Descriptor implements the ent.Descriptor interface.
func (*Builder) Edges ¶
Edges sets the fields index to be unique under the set of edges (sub-graph). For example:
func (T) Indexes() []ent.Index { // Unique "name" field under the "parent" edge. index.Fields("name"). Edges("parent"). Unique(), }
func (*Builder) Fields ¶
Fields sets the fields of the index.
func (T) Indexes() []ent.Index { // Unique "name" and "age" fields under the "parent" edge. index.Edges("parent"). Fields("name", "age"). Unique(), }
func (*Builder) StorageKey ¶
StorageKey sets the storage key of the index. In SQL dialects, it's the index name.
func (*Builder) Unique ¶
Unique sets the index to be a unique index. Note that defining a uniqueness on optional fields won't prevent duplicates if one of the column contains NULL values.
type Descriptor ¶
type Descriptor struct { Unique bool // unique index. Edges []string // edge columns. Fields []string // field columns. StorageKey string // custom index name. Annotations []schema.Annotation // index annotations. }
A Descriptor for index configuration.
Source Files ¶
index.go
- Version
- v0.14.4 (latest)
- Published
- Mar 17, 2025
- Platform
- linux/amd64
- Imports
- 1 packages
- Last checked
- 1 day ago –
Tools for package owners.