Guest User

Untitled

a guest
Oct 20th, 2018
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.39 KB | None | 0 0
  1. var (
  2. DB_INSTANCE *sql.DB
  3. )
  4. ...
  5. configFile := GetConfig()
  6. user := configFile.DatabaseReaderHost.DatabaseUser
  7. password := configFile.DatabaseReaderHost.DatabasePassword
  8. dbName := configFile.DatabaseReaderHost.DatabaseName
  9. connectionName := "project-id:region:instance-name"
  10.  
  11. if appengine.IsDevAppServer() {
  12. db, err := sql.Open("mysql", fmt.Sprintf("%s:%s@tcp(%s:%s)/%s?parseTime=true",
  13. user,
  14. password,
  15. configFile.DatabaseReaderHost.DatabaseHost,
  16. configFile.DatabaseReaderHost.DatabasePort,
  17. dbName))
  18. if err != nil {
  19. panic(err)
  20. }
  21. DB_INSTANCE = db
  22. return nil
  23. } else {
  24. dbn, err := sql.Open("mysql", fmt.Sprintf("%s:%s@cloudsql(%s)/%s", user, password, connectionName, dbName))
  25. if err != nil {
  26. panic(err)
  27. }
  28. DB_INSTANCE = dbn
  29. return nil
  30. }
  31.  
  32. func TestDatabaseHandler(w http.ResponseWriter, r *http.Request) {
  33. w.WriteHeader(http.StatusOK)
  34. var name string
  35. err := DB_INSTANCE.QueryRow("SELECT name FROM names WHERE id = ?", 1).Scan(&name)
  36. if err != nil {
  37. if err == sql.ErrNoRows {
  38. PrintSingleResponseJson(w, "error", fmt.Sprintf("no rows found"))
  39. } else {
  40. Log(r, fmt.Sprintf("Could not connect to database: %v", err))
  41. PrintSingleResponseJson(w, "error", fmt.Sprintf("could not connect to database: %s", err))
  42. }
  43. return
  44. }
  45. PrintSingleResponseJson(w, "success", fmt.Sprintf("%s", name))
  46. }
Add Comment
Please, Sign In to add comment