O GORM é uma ferramenta de mapeamento relacional de objetos (ORM) para a linguagem de programação Go. Ele fornece uma estrutura para mapear um modelo de domínio orientado a objetos para um banco de dados relacional. É possível integrar bancos de dados do dialeto GoogleSQL com o GORM usando o dialeto do Spanner de código aberto (SpannerDialect).
Neste documento, descrevemos como configurar o GORM para se conectar ao Spanner Omni. O GORM se integra ao Spanner Omni da mesma forma que se integra ao Spanner. O GORM é compatível com a integração com o Spanner Omni usando o dialeto GoogleSQL, mas não o PostgreSQL.
Para mais informações, consulte Integrar o Spanner ao GORM na documentação do Spanner.
Pré-requisitos
O Spanner Omni requer a versão 1.10.0 ou mais recente do go-gorm-spanner. Para usar o dialeto GORM do Spanner no seu
aplicativo, adicione os seguintes módulos ao arquivo go.mod:
go get github.com/googleapis/go-sql-spanner
go get github.com/googleapis/go-gorm-spanner
Configurar o GORM para bancos de dados do GoogleSQL
Para usar o dialeto GORM do GoogleSQL no seu aplicativo, adicione as seguintes instruções de importação ao arquivo em que o GORM é inicializado:
import (
"fmt"
"gorm.io/gorm"
_ "github.com/googleapis/go-sql-spanner"
spannergorm "github.com/googleapis/go-gorm-spanner"
)
dsn := fmt.Sprintf("%s/databases/%s?use_plain_text=true", SPANNER_OMNI_ENDPOINT, DATABASE_ID)
db, err := gorm.Open(spannergorm.New(spannergorm.Config{DriverName: "spanner", DSN: dsn}), &gorm.Config{})