1.5 KiB
1.5 KiB
ent
Introduction
ent是一个简单、功能强大的entity framework。下面,将会是一个ent的使用示例。
init project
go mod init entdemo
创建schema
在entdemo目录下运行
go run -mod=mod entgo.io/ent/cmd/ent new User
上述命令会为User创建schema,创建位置位于entdemo/ent/schema目录下,entdemo/ent/schema/user.go文件内容如下:
package schema
import "entgo.io/ent"
// User holds the schema definition for the User entity.
type User struct {
ent.Schema
}
// Fields of the User.
func (User) Fields() []ent.Field {
return nil
}
// Edges of the User.
func (User) Edges() []ent.Edge {
return nil
}
向User实体中添加字段
可以向User中添加两个字段,修改Field内容为如下:
// Fields of the User.
func (User) Fields() []ent.Field {
return []ent.Field{
field.Int("age").
Positive(),
field.String("name").
Default("unknown"),
}
}
go generate
之后,可以调用go generate:
go generate ./ent
产生内容如下:
ent
├── client.go
├── config.go
├── context.go
├── ent.go
├── generate.go
├── mutation.go
... truncated
├── schema
│ └── user.go
├── tx.go
├── user
│ ├── user.go
│ └── where.go
├── user.go
├── user_create.go
├── user_delete.go
├── user_query.go
└── user_update.go