Avatar ·

Forma recomendada de conectar a MySQL desde Go: drivers, pools de conexiones y best practices

¡Hola a todos! Soy un desarrollador Go principiante, vengo de Python, donde todo era fácil con SQLAlchemy. Ahora estoy escribiendo una pequeña API REST en Go (net/http puro) y necesito conectarme a MySQL.

Leí varios tutoriales, pero se contradicen entre sí. Algunos usan go-sql-driver/mysql, otros usan database/sql directamente, y otros recomiendan ORMs como GORM. Estoy completamente confundido.

Aquí hay un ejemplo de mi código actual que armé, pero parece hecho "a las apuradas":

package main

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

func main() {
    db, err := sql.Open("mysql", "user:password@tcp(127.0.0.1:3306)/dbname")
    if err != nil {
        panic(err.Error())
    }
    defer db.Close()