Utiliser GORM pour se connecter à Spanner Omni

GORM est un outil de mappage objet-relationnel (ORM) pour le langage de programmation Go. Il fournit un framework permettant de mapper un modèle de domaine orienté objet à une base de données relationnelle. Vous pouvez intégrer des bases de données de dialecte GoogleSQL à GORM à l'aide du dialecte Spanner Open Source Spanner (SpannerDialect).

Ce document explique comment configurer GORM pour qu'il se connecte à Spanner Omni. GORM s'intègre à Spanner Omni de la même manière qu'à Spanner. Notez que GORM est compatible avec l'intégration à Spanner Omni à l'aide du dialecte GoogleSQL, mais pas du dialecte PostgreSQL.

Pour en savoir plus, consultez la section Intégrer Spanner à GORM dans la documentation Spanner.

Prérequis

Spanner Omni nécessite go-gorm-spanner version 1.10.0 ou ultérieure. Pour utiliser le dialecte Spanner GORM dans votre application, ajoutez les modules suivants à votre fichier go.mod :

go get github.com/googleapis/go-sql-spanner
go get github.com/googleapis/go-gorm-spanner

Configurer GORM pour les bases de données GoogleSQL

Pour utiliser le dialecte GoogleSQL GORM dans votre application, ajoutez les instructions d'importation suivantes au fichier dans lequel GORM est initialisé :

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{})