У меня есть база данных postgres, для которой я хотел бы сгенерировать таблицы и записать их с помощью Gorp, однако я получаю сообщение об ошибке, когда пытаюсь вставить из-за срезов, содержащихся в моих структурах "sql: преобразование аргумента $4 тип: неподдерживаемый тип [] core.EmbeddedStruct, часть структуры.
Мои структуры выглядят следующим образом:
type Struct1 struct {
ID string
Name string
Location string
EmbeddedStruct []EmbeddedStruct
}
type EmbeddedStruct struct {
ID string
Name string
struct1Id string
EmbeddedStruct2 []EmbeddedStruct2
}
type EmbeddedStruct2 struct {
ID string
Name string
embeddedStructId string
}
func (repo *PgStruct1Repo) Write(t *core.Struct1) error {
trans, err := createTransaction(repo.dbMap)
defer closeTransaction(trans)
if err != nil {
return err
}
// Check to see if struct1 item already exists
exists, err := repo.exists(t.ID, trans)
if err != nil {
return err
}
if !exists {
log.Debugf("saving new struct1 with ID %s", t.ID)
err = trans.Insert(t)
if err != nil {
return err
}
return nil
}
return nil
}
Кто-нибудь имеет опыт или знает, поддерживает ли Gorp вставку фрагментов? Из того, что я читал, кажется, что поддерживаются срезы только для операторов SELECT.