Как настроить столбцы, соответствующие внешним ключам, при их создании в 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

Другие вопросы по тегам