GORM es una herramienta de asignación relacional de objetos (ORM) para el lenguaje de programación Go. Proporciona un framework para asignar un modelo de dominio orientado a objetos a una base de datos relacional. Puedes integrar bases de datos con el dialecto de GoogleSQL en GORM con el dialecto de Spanner de código abierto (SpannerDialect).
En este documento, se describe cómo configurar GORM para conectarse a Spanner Omni. GORM se integra con Spanner Omni de la misma manera en que se integra con Spanner. Ten en cuenta que GORM admite la integración con Spanner Omni a través del dialecto de GoogleSQL, pero no del dialecto de PostgreSQL.
Para obtener más información, consulta Integra Spanner con GORM en la documentación de Spanner.
Requisitos previos
Spanner Omni requiere la versión go-gorm-spanner 1.10.0 o posterior. Para usar el dialecto de GORM de Spanner en tu aplicación, agrega los siguientes módulos a tu archivo go.mod:
go get github.com/googleapis/go-sql-spanner
go get github.com/googleapis/go-gorm-spanner
Configura GORM para bases de datos de GoogleSQL
Para usar el dialecto de GORM de GoogleSQL en tu aplicación, agrega las siguientes instrucciones de importación al archivo en el que se inicializa GORM:
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{})