假设使用以下模式
type Pet struct {
ent.Schema
}
// Fields of the Pet.
func (Pet) Fields() []ent.Field {
return []ent.Field{
field.String("name"),
}
}
// Edges of the Pet.
func (Pet) Edges() []ent.Edge {
return []ent.Edge{
edge.From("owner", User.Type).
Ref("pets").
Unique(),
}
}
type User struct {
ent.Schema
}
// Fields of the User.
func (User) Fields() []ent.Field {
return []ent.Field{
field.Int("age"),
field.String("name").Unique(),
}
}
// Edges of the User.
func (User) Edges() []ent.Edge {
return []ent.Edge{
edge.
To("pets", Pet.Type),
}
}
ent将生成一个外键,如pets_users_pets (user_pets) -> users(id)
,而id
是entgo中默认的主键列。
但是我应该做些什么来创建一个(user_pets) -> users(name)
?name
也是一个唯一的列。
1条答案
按热度按时间zujrkrfu1#
2023年1月4日目前不支持
https://github.com/ent/ent/issues/2549#issuecomment-1129666251