GORM zum Herstellen einer Verbindung zu Spanner Omni verwenden

GORM ist ein Tool für die objektrelationale Zuordnung (ORM) für die Programmiersprache Go. Es bietet ein Framework für die Zuordnung eines objektorientierten Domänenmodells zu einer relationalen Datenbank. Sie können Datenbanken mit GoogleSQL-Dialekt mit GORM über den Open-Source-Spanner-Dialekt (SpannerDialect) einbinden.

In diesem Dokument wird beschrieben, wie Sie GORM für die Verbindung zu Spanner Omni konfigurieren. GORM wird in Spanner Omni auf dieselbe Weise eingebunden wie in Spanner. GORM unterstützt die Integration mit Spanner Omni über den GoogleSQL-Dialekt, aber nicht über den PostgreSQL-Dialekt.

Weitere Informationen finden Sie unter Spanner in GORM einbinden in der Spanner-Dokumentation.

Vorbereitung

Für Spanner Omni ist die go-gorm-spanner-Version 1.10.0 oder höher erforderlich. Wenn Sie den Spanner-GORM-Dialekt in Ihrer Anwendung verwenden möchten, fügen Sie Ihrer go.mod-Datei die folgenden Module hinzu:

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

GORM für GoogleSQL-Datenbanken konfigurieren

Wenn Sie den GoogleSQL-GORM-Dialekt in Ihrer Anwendung verwenden möchten, fügen Sie der Datei, in der GORM initialisiert wird, die folgenden Importanweisungen hinzu:

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