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 import statement 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{})
See the GORM with GoogleSQL documentation for more connection options for Spanner.
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).