Avatar ·

الطريقة الموصى بها للاتصال بـ MySQL من Go: برامج التشغيل، تجمعات الاتصالات وأفضل الممارسات

مرحباً بالجميع! أنا مطور Go مبتدئ، أنتقل من Python حيث كان كل شيء سهلاً مع SQLAlchemy. الآن أكتب REST API صغيراً بلغة Go (باستخدام net/http الخالص) وأحتاج إلى الاتصال بـ MySQL.

قرأت عدة دروس تعليمية، لكنها تتعارض مع بعضها البعض. البعض يستخدم go-sql-driver/mysql، والبعض الآخر يستخدم database/sql مباشرة، وآخرون يوصون بـ ORM مثل GORM. أنا مرتبك تماماً.

إليك مثال على الكود الحالي الذي كتبته بشكل مؤقت، لكنه يبدو "مرتجلاً":

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()