ent: github.com/facebookincubator/ent/schema/field Index | Files | Directories

package field

import "github.com/facebookincubator/ent/schema/field"

Index

Package Files

field.go numeric.go type.go

func Bool Uses

func Bool(name string) *boolBuilder

Bool returns a new Field with type bool.

func Bytes Uses

func Bytes(name string) *bytesBuilder

Bytes returns a new Field with type bytes/buffer. In MySQL and SQLite, it is the "BLOB" type, and it does not support for Gremlin.

func Enum Uses

func Enum(name string) *enumBuilder

Enum returns a new Field with type enum. An example for defining enum is as follows:

field.Enum("state").
	Values(
		"on",
		"off",
	).
	Default("on")

func Float Uses

func Float(name string) *float64Builder

Float returns a new Field with type float64.

func Float32 Uses

func Float32(name string) *float32Builder

Float32 returns a new Field with type float32.

func Floats Uses

func Floats(name string) *jsonsBuilder

Floats returns a new JSON Field with type []float.

func Int Uses

func Int(name string) *intBuilder

Int returns a new Field with type int.

func Int16 Uses

func Int16(name string) *int16Builder

Int16 returns a new Field with type int16.

func Int32 Uses

func Int32(name string) *int32Builder

Int32 returns a new Field with type int32.

func Int64 Uses

func Int64(name string) *int64Builder

Int64 returns a new Field with type int64.

func Int8 Uses

func Int8(name string) *int8Builder

Int8 returns a new Field with type int8.

func Ints Uses

func Ints(name string) *jsonsBuilder

Ints returns a new JSON Field with type []int.

func JSON Uses

func JSON(name string, typ interface{}) *jsonsBuilder

JSON returns a new Field with type json that is serialized to the given object. For example:

field.JSON("dirs", []http.Dir{}).
	Optional()

field.JSON("info", &Info{}).
	Optional()

func String Uses

func String(name string) *stringBuilder

String returns a new Field with type string.

func Strings Uses

func Strings(name string) *jsonsBuilder

Strings returns a new JSON Field with type []string.

func Text Uses

func Text(name string) *stringBuilder

Text returns a new string field without limitation on the size. In MySQL, it is the "longtext" type, but in SQLite and Gremlin it has not effect.

func Time Uses

func Time(name string) *timeBuilder

Time returns a new Field with type timestamp.

func Uint Uses

func Uint(name string) *uintBuilder

Uint returns a new Field with type uint.

func Uint16 Uses

func Uint16(name string) *uint16Builder

Uint16 returns a new Field with type uint16.

func Uint32 Uses

func Uint32(name string) *uint32Builder

Uint32 returns a new Field with type uint32.

func Uint64 Uses

func Uint64(name string) *uint64Builder

Uint64 returns a new Field with type uint64.

func Uint8 Uses

func Uint8(name string) *uint8Builder

Uint8 returns a new Field with type uint8.

type Descriptor Uses

type Descriptor struct {
    Tag           string        // struct tag.
    Size          int           // varchar size.
    Name          string        // field name.
    Info          *TypeInfo     // field type info.
    Unique        bool          // unique index of field.
    Nillable      bool          // nillable struct field.
    Optional      bool          // nullable field in database.
    Immutable     bool          // create-only field.
    Default       interface{}   // default value on create.
    UpdateDefault interface{}   // default value on update.
    Validators    []interface{} // validator functions.
    StorageKey    string        // sql column or gremlin property.
    Enums         []string      // enum values.
    Sensitive     bool          // sensitive info string field.
}

A Descriptor for field configuration.

type Type Uses

type Type uint8

A Type represents a field type.

const (
    TypeInvalid Type = iota
    TypeBool
    TypeTime
    TypeJSON
    TypeBytes
    TypeEnum
    TypeString
    TypeInt8
    TypeInt16
    TypeInt32
    TypeInt
    TypeInt64
    TypeUint8
    TypeUint16
    TypeUint32
    TypeUint
    TypeUint64
    TypeFloat32
    TypeFloat64
)

List of field types.

func (Type) ConstName Uses

func (t Type) ConstName() string

ConstName returns the constant name of a info type. It's used by entc for printing the constant name in templates.

func (Type) Numeric Uses

func (t Type) Numeric() bool

Numeric reports if the given type is a numeric type.

func (Type) String Uses

func (t Type) String() string

String returns the string representation of a type.

func (Type) Valid Uses

func (t Type) Valid() bool

Valid reports if the given type if known type.

type TypeInfo Uses

type TypeInfo struct {
    Type     Type
    Ident    string
    PkgPath  string
    Nillable bool // slices or pointers.
}

TypeInfo holds the information regarding field type. Used by complex types like JSON and Bytes.

func (TypeInfo) Numeric Uses

func (t TypeInfo) Numeric() bool

Numeric reports if the given type is a numeric type.

func (TypeInfo) String Uses

func (t TypeInfo) String() string

String returns the string representation of a type.

func (TypeInfo) Valid Uses

func (t TypeInfo) Valid() bool

Valid reports if the given type if known type.

Directories

PathSynopsis
gengen is a codegen cmd for generating numeric build types from template.

Package field imports 6 packages (graph) and is imported by 12 packages. Updated 2019-11-13. Refresh now. Tools for package owners.