使用 GORM 連線至 Spanner Omni

GORM 是 Go 程式設計語言的物件關聯對應 (ORM) 工具。這個框架可將物件導向網域模型對應至關聯式資料庫。您可以使用開放原始碼的 Spanner Dialect (SpannerDialect),將 GoogleSQL 方言資料庫與 GORM 整合。

本文說明如何設定 GORM,以便連線至 Spanner Omni。GORM 與 Spanner Omni 的整合方式,與 Spanner 相同。請注意,GORM 支援使用 GoogleSQL 方言與 Spanner Omni 整合,但不支援 PostgreSQL 方言。

詳情請參閱 Spanner 說明文件中的「將 Spanner 與 GORM 整合」。

必要條件

Spanner Omni 需要 go-gorm-spanner 1.10.0 以上版本。如要在應用程式中使用 Spanner GORM 方言,請將下列模組新增至 go.mod 檔案:

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

為 GoogleSQL 資料庫設定 GORM

如要在應用程式中使用 GoogleSQL GORM 方言,請在初始化 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{})