Integrate Spanner with GORM (GoogleSQL dialect)

GORM is an object-relational mapping tool for the Go programming language. It provides a framework for mapping an object-oriented domain model to a relational database.

You can integrate GoogleSQL-dialect databases with GORM using the open source Spanner Dialect (SpannerDialect).

Set up GORM with Spanner GoogleSQL-dialect databases

To use the GoogleSQL GORM dialect in your application, add the following code to the file where GORM is initialized:

import (
  "fmt"

  "gorm.io/gorm"
  _ "github.com/googleapis/go-sql-spanner"
  spannergorm "github.com/googleapis/go-gorm-spanner"
)

dsn := fmt.Sprintf("projects/%s/instances/%s/databases/%s", projectId, instanceId, databaseId)
db, err := gorm.Open(spannergorm.New(spannergorm.Config{DriverName: "spanner", DSN: dsn}), &gorm.Config{})

For more connection options for Spanner, see the GORM with GoogleSQL documentation.

Use GORM with Spanner GoogleSQL-dialect databases

For more information about the features and recommendations for using GORM with Spanner, consult the reference documentation on GitHub.

What's next