Как настроить столбцы, соответствующие внешним ключам, при их создании в entgo?
Предположим следующую схему
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 ответ
Не поддерживается прямо сейчас на 2023/1/4
https://github.com/ent/ent/issues/2549#issuecomment-1129666251