>  기사  >  백엔드 개발  >  PostgresQL에서 정수 배열을 Gorm 모델 데이터 유형으로 저장하는 방법은 무엇입니까?

PostgresQL에서 정수 배열을 Gorm 모델 데이터 유형으로 저장하는 방법은 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-11-09 08:05:02207검색

How to Store an Array of Integers as a Gorm Model Data Type in PostgresQL?

정수 배열을 Gorm 모델 데이터 유형으로 통합

문제

Gorm 사용자는 정수 배열을 Gorm 모델 데이터 유형에 저장하려고 시도하는 동안 장애물에 직면합니다. 프레임워크를 사용하는 PostgresQL 데이터베이스의 단일 필드. Gorm의 슬라이스 데이터 유형과 PostgresQL의 기본 배열 지원 간의 기본 불일치로 인해 "패닉: postgres에 대한 잘못된 sql 유형(슬라이스)"이라는 오류 메시지가 발생합니다.

해결 방법

To address 이 문제를 효과적으로 해결하려면 기본 데이터베이스 라이브러리에서 제공하는 사용자 정의 유형을 사용해야 합니다. 이 경우 pq 패키지는 기본적으로 PostgresQL 배열을 지원하는 pq.Int64Array 유형을 제공합니다. 다음 코드는 올바른 사용법을 보여줍니다.

<code class="go">type Game struct {
    gorm.Model
    GameCode    string
    GameName    string
    DeckType    pq.Int64Array `gorm:"type:integer[]"`
    GameEndDate string
}</code>

Game.DeckType은 gorm:"type:integer[]" 태그를 사용하여 유형을 지정하고 PostgresQL 데이터베이스 내의 정수 배열로 효과적으로 정의합니다.

삽입 예

사용자 정의 유형을 설정한 후 정수 배열을 쉽게 삽입할 수 있습니다. 데이터베이스에:

<code class="go">dt := []int64{1, 2, 3}

db.Create(&Game{GameCode: "xxx", GameName: "xxx", DeckType: pq.Int64Array(dt), GameEndDate: "xxx"})</code>

이 코드는 DeckType이 정수 배열로 저장되는 Game 테이블에 새 레코드를 생성합니다.

위 내용은 PostgresQL에서 정수 배열을 Gorm 모델 데이터 유형으로 저장하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.