Connecting to a Database
Ma'lumotlar bazasiga ulanish
GORM bilan ulanish gorm.Open orqali, lekin unga qo'shimcha ravishda drayver paketini (masalan SQLite yoki PostgreSQL uchun) ham berish kerak — GORM o'zi tarmoq bilan gaplashmaydi, buni drayverga topshiradi.
package main
import (
"log"
"gorm.io/driver/sqlite"
"gorm.io/gorm"
)
func main() {
db, err := gorm.Open(sqlite.Open("shop.db"), &gorm.Config{})
if err != nil {
log.Fatal("ulanishda xato:", err)
}
// db endi butun dastur davomida ishlatiladigan asosiy ob'ekt
_ = db
}sqlite.Open("shop.db") — drayverga xos "qanday va qayerga ulanish" ko'rsatmasi (PostgreSQL uchun bu postgres.Open(dsn) bo'lardi). &gorm.Config{} — GORM'ning o'zini sozlash uchun (masalan log darajasi, jadval nomlash qoidalari). gorm.Open qaytargan *gorm.DB — deyarli barcha keyingi GORM chaqiruvlarining boshlanish nuqtasi, xuddi database/sqldagi *sql.DB kabi.
Odatiy amaliyot: agar ulanishda xato bo'lsa, log.Fatal bilan dasturni darhol to'xtatish — chunki bazasiz dastur davom eta olmaydi (bu "Don't Panic in Libraries" darsida ko'rgan qoidaning istisnosi: main()ning o'zida, ishga tushishda log.Fatal ishlatish odatiy holdir).
Key Takeaway
Key Takeaway:
gorm.Open(drayver.Open(dsn), &gorm.Config{}) — GORM bilan ulanishning standart shakli; qaytgan *gorm.DB butun dastur davomida ishlatiladi.
NEXT UP
Defining Models