Menggunakan GORM untuk terhubung ke Spanner Omni

GORM adalah alat pemetaan relasional objek (ORM) untuk bahasa pemrograman Go. Alat ini menyediakan framework untuk memetakan model domain berorientasi objek ke database relasional. Anda dapat mengintegrasikan database dialek GoogleSQL dengan GORM menggunakan open source Spanner Dialect (SpannerDialect).

Dokumen ini menjelaskan cara mengonfigurasi GORM untuk terhubung ke Spanner Omni. GORM terintegrasi dengan Spanner Omni dengan cara yang sama seperti integrasi dengan Spanner. Perhatikan bahwa GORM mendukung integrasi dengan Spanner Omni menggunakan dialek GoogleSQL, tetapi tidak dengan dialek PostgreSQL.

Untuk mengetahui informasi selengkapnya, lihat Mengintegrasikan Spanner dengan GORM di dokumentasi Spanner.

Prasyarat

Spanner Omni memerlukan go-gorm-spanner versi 1.10.0 atau yang lebih baru. Untuk menggunakan dialek GORM Spanner di aplikasi Anda, tambahkan modul berikut ke file go.mod Anda:

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

Mengonfigurasi GORM untuk database GoogleSQL

Untuk menggunakan dialek GORM GoogleSQL di aplikasi Anda, tambahkan pernyataan impor berikut ke file tempat GORM diinisialisasi:

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