Как присвоить pgtype.UUIDArray []uuid.UUID?

Я использую Go + Postgres. Для работы с Postgres я использую pgx. У меня есть массив UUID в моей таблице Postgres и структура с []*uuid.UUID (из https://github.com/gofrs/uuid) в Go (см. Код ниже).

Проблема в том, что я всегда получаю сообщение об ошибке, когда пытаюсь использовать функцию AssignTo.

невозможно: декодировать &pgtype.UUIDArray{Elements:[]pgtype.UUID(nil), Dimensions:[]pgtype.ArrayDimension(nil), Status:0x2} в * [] * uuid.UUID

(Я пробовал использовать все комбинации с указателями, и это не работает)

Моя структура (для API):

type Book struct {
    AuthorIds []*uuid.UUID `json:"author_ids"`
}

Моя структура (для работы с Postgres):

type PgBook struct {
    AuthorIds pgtype.UUIDArray `db:"author_ids"`
}

И я использую AssignTo функция от pgx

err := pgBook.AuthorIds.AssignTo(&book.AuthorIds)

Как решить эту проблему?

0 ответов

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