GoDasturchi
Connecting to a Database

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.

example.go
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

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.

example.go
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