Skip to content

Instantly share code, notes, and snippets.

@erans

erans/main.go

Last active Oct 7, 2020
Embed
What would you like to do?
Go Example: Google CloudSQL with CloudSQL Proxy and GORM
package main
import (
"github.com/jinzhu/gorm"
_ "database/sql"
_ "github.com/GoogleCloudPlatform/cloudsql-proxy/proxy/dialers/mysql"
)
// You can read more in this post: http://forecastcloudy.net/2016/06/28/using-google-cloud-sql-from-go-with-gorm-in-google-container-engine-and-google-compute-engine/
func main() {
// Using cloudsql-proxy will help you avoid white listing IPs and handling SSL.
// In this case, it will also run inside your Go program and will not require
// an additional process or container.
// Connection String details:
// * user - the user created inside the DB. You can see more details on how to create it without password here:
// https://cloud.google.com/sql/docs/sql-proxy#flags
// * project-id - your project id
// * zone - your general zone (us-central1/us-west1/etc)
// * db-name - the name of the database instance as it appears in the console
var dbConnectionString = "user@cloudsql(project-id:zone:instance-name)/db-name?charset=utf8&parseTime=True&loc=UTC"
var db *gorm.DB
var err error
if db, err = gorm.Open("mysql", dbConnectionString); err != nil {
panic(err)
}
}
@austincollinpena

This comment has been minimized.

Copy link

@austincollinpena austincollinpena commented Oct 7, 2020

It's now in the docs, towards the bottom: https://gorm.io/docs/connecting_to_the_database.html

@erans

This comment has been minimized.

Copy link
Owner Author

@erans erans commented Oct 7, 2020

Thanks. It's nice to know. Thanks for sending the link!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.