Documentation ¶
Index ¶
- func Bool(name string) *boolBuilder
- func Bytes(name string) *bytesBuilder
- func Enum(name string) *enumBuilder
- func Float(name string) *float64Builder
- func Float32(name string) *float32Builder
- func Floats(name string) *jsonBuilder
- func Int(name string) *intBuilder
- func Int16(name string) *int16Builder
- func Int32(name string) *int32Builder
- func Int64(name string) *int64Builder
- func Int8(name string) *int8Builder
- func Ints(name string) *jsonBuilder
- func JSON(name string, typ interface{}) *jsonBuilder
- func String(name string) *stringBuilder
- func Strings(name string) *jsonBuilder
- func Text(name string) *stringBuilder
- func Time(name string) *timeBuilder
- func UUID(name string, typ driver.Valuer) *uuidBuilder
- func Uint(name string) *uintBuilder
- func Uint16(name string) *uint16Builder
- func Uint32(name string) *uint32Builder
- func Uint64(name string) *uint64Builder
- func Uint8(name string) *uint8Builder
- type Descriptor
- type RType
- type Type
- type TypeInfo
- type ValueScanner
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Bytes ¶
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 ¶
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 Float32 ¶
func Float32(name string) *float32Builder
Float32 returns a new Field with type float32.
func Floats ¶
func Floats(name string) *jsonBuilder
Floats returns a new JSON Field with type []float.
func JSON ¶
func JSON(name string, typ interface{}) *jsonBuilder
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 Strings ¶
func Strings(name string) *jsonBuilder
Strings returns a new JSON Field with type []string.
func Text ¶
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.
Types ¶
type Descriptor ¶
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. SchemaType map[string]string // override the schema type. // contains filtered or unexported fields }
A Descriptor for field configuration.
func (*Descriptor) Err ¶ added in v0.2.2
func (d *Descriptor) Err() error
Err returns the error, if any, that was added by the field builder.
type RType ¶ added in v0.2.3
type RType struct { Name string Kind reflect.Kind PkgPath string Methods map[string]struct{ In, Out []*RType } }
RType holds a serializable reflect.Type information of Go object. Used by the entc package.
type Type ¶
type Type uint8
A Type represents a field type.
const ( TypeInvalid Type = iota TypeBool TypeTime TypeJSON TypeUUID TypeBytes TypeEnum TypeString TypeInt8 TypeInt16 TypeInt32 TypeInt TypeInt64 TypeUint8 TypeUint16 TypeUint32 TypeUint TypeUint64 TypeFloat32 TypeFloat64 )
List of field types.
func (Type) ConstName ¶
ConstName returns the constant name of a info type. It's used by entc for printing the constant name in templates.
type TypeInfo ¶
type TypeInfo struct { Type Type Ident string PkgPath string Nillable bool // slices or pointers. RType *RType }
TypeInfo holds the information regarding field type. Used by complex types like JSON and Bytes.
func (TypeInfo) Comparable ¶ added in v0.2.6
Comparable reports whether values of this type are comparable.
func (TypeInfo) Stringer ¶ added in v0.2.3
Stringer indicates if this type implements the Stringer interface.
func (TypeInfo) ValueScanner ¶ added in v0.2.3
ValueScanner indicates if this type implements the ValueScanner interface.