Платформа ЦРНП "Мирокод" для разработки проектов
https://git.mirocod.ru
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
62 lines
1.8 KiB
62 lines
1.8 KiB
// Copyright 2013 Google Inc. All rights reserved. |
|
// Use of this source code is governed by the Apache 2.0 |
|
// license that can be found in the LICENSE file. |
|
|
|
/* |
|
Package cloudsql exposes access to Google Cloud SQL databases. |
|
|
|
This package does not work in App Engine "flexible environment". |
|
|
|
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) |
|
} |
|
*/ |
|
package cloudsql |
|
|
|
import ( |
|
"net" |
|
) |
|
|
|
// Dial connects to the named Cloud SQL instance. |
|
func Dial(instance string) (net.Conn, error) { |
|
return connect(instance) |
|
}
|
|
|