Entgo 스키마에는 다음 필드를 정의할 수 있습니다.

entgo에서 지원하는 자료형 입니다.

go
숫자 자료형 ex) int, uint8, float64,...
bool
string
time.Time
[]byte
JSON
Enum
UUID
Other

Int

func (User) Fields() []ent.Field {
	return []ent.Field {
		field.Int("int"),		// int
		field.Int8("int8"),		// int8
		field.Int16("int16"),	// int16
		field.Int32("int32"),	// int32
		field.Int64("int64"),	// int64
        field.Ints("ints"),		// []int
}

Uint

func (User) Fields() []ent.Field {
	return []ent.Field {
		field.Uint("uint"),			// uint
		field.Uint8("uint8"),		// uint8
		field.Uint16("uint16"),		// uint16
		field.Uint32("uint32"),		// uint32
		field.Uint64("uint64"),		// uint64
}

Float

func (User) Fields() []ent.Field {
	return []ent.Field {
		field.Float("float64"),		// float
		field.Float32("float32"),	// float32
}

Bool

func (User) Fields() []ent.Field {
	return []ent.Field {
		field.Bool("bool"),		// bool
	}
}

String

func (User) Fields() []ent.Field {
	return []ent.Field {
		field.String("string"),		// string
        field.Strings("strings"),	// []string

		// 길이제한 X
		field.Text("text"),			// string
}

Time

func (User) Fields() []ent.Field {
	return []ent.Field {
		field.Time("time"),		// time.Time
}

Byte

func (User) Fields() []ent.Field {
	return []ent.Field {
    	field.Byte("byte"),		// byte
		field.Bytes("bytes"),	// []byte
	}
}

Json

// JSON 데이터 구조체 정의
type UserInfo struct {
	Name string
	Age int
	ID string `json:"web_id"`
}

//
func (User) Fields() []ent.Field {
	return []ent.Field {
		field.JSON("json", &UserInfo{}),	// UserInfo struct interface
	}
}

Enum

func (User) Fields() []ent.Field {
	return []ent.Field {
		field.Enum("enum").
			Values("low", "mid", "high").
			Default("low"),	// string
	}
}

UUID

import (
	"entgo.io/ent"
	"entgo.io/ent/schema/field"
	"github.com/google/uuid"
)

// ..... //

func (User) Fields() []ent.Field {
	return []ent.Field {
		field.UUID("uuid", uuid.New()),	// uuid.UUID
	}
}