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
- Checkout the sample application using GORM with GoogleSQL and Spanner.
- Learn more about GORM .
- File a GitHub issue to report a bug or ask a question about using GORM with Spanner with GoogleSQL.
- Learn more about Integrate Spanner with GORM ( PostgreSQL dialect) .

