cloudsql

package
v0.20.0-alpha6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 12, 2016 License: Apache-2.0, Apache-2.0 Imports: 2 Imported by: 0

Documentation

Overview

Package cloudsql exposes access to Google Cloud SQL databases.

This package does not work on Managed VMs.

This package is intended for MySQL drivers to make App Engine-specific connections. Applications should use this package through database/sql: Select a pure Go MySQL driver that supports this package, and use sql.Open with protocol "cloudsql" and an address of the Cloud SQL instance.

A Go MySQL driver that has been tested to work well with Cloud SQL is the go-sql-driver:

import "database/sql"
import _ "github.com/go-sql-driver/mysql"

db, err := sql.Open("mysql", "user@cloudsql(project-id:instance-name)/dbname")

Another driver that works well with Cloud SQL is the mymysql driver:

import "database/sql"
import _ "github.com/ziutek/mymysql/godrv"

db, err := sql.Open("mymysql", "cloudsql:instance-name*dbname/user/password")

Using either of these drivers, you can perform a standard SQL query. This example assumes there is a table named 'users' with columns 'first_name' and 'last_name':

rows, err := db.Query("SELECT first_name, last_name FROM users")
if err != nil {
	log.Errorf(ctx, "db.Query: %v", err)
}
defer rows.Close()

for rows.Next() {
	var firstName string
	var lastName string
	if err := rows.Scan(&firstName, &lastName); err != nil {
		log.Errorf(ctx, "rows.Scan: %v", err)
		continue
	}
	log.Infof(ctx, "First: %v - Last: %v", firstName, lastName)
}
if err := rows.Err(); err != nil {
	log.Errorf(ctx, "Row error: %v", err)
}

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Dial

func Dial(instance string) (net.Conn, error)

Dial connects to the named Cloud SQL instance.

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL