Study
Fiber

GORM: Model & Migration

Penjelasan

GORM dipakai PERSIS SAMA dengan Fiber seperti di Echo — karena GORM adalah library database terpisah, TIDAK terikat framework web yang dipakai. Tabel direpresentasikan sebagai struct Go, migration dijalankan lewat AutoMigrate().

Contoh Konsep

// go get gorm.io/gorm gorm.io/driver/sqlite
type Produk struct {
	ID    uint    `gorm:"primaryKey"`
	Nama  string
	Harga float64
}

func main() {
	db, err := gorm.Open(sqlite.Open("data.db"), &gorm.Config{})
	if err != nil {
		panic("Gagal konek database")
	}

	db.AutoMigrate(&Produk{})

	app := fiber.New()
	// ... routes yang memakai db di sini
}

Praktikum

Buat struct Artikel dengan field ID (uint, primaryKey), Judul (string), dan Isi (string). Tulis contoh AutoMigrate(&Artikel{}) untuk membuat tabelnya.

Editor Latihan

Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.

Tips

Karena GORM bekerja di level database driver (bukan HTTP), instance *gorm.DB biasanya perlu diteruskan manual ke handler Fiber — pola umum: simpan sebagai variabel di scope yang bisa diakses closure handler, atau pakai app.Use() untuk c.Locals("db", db) supaya bisa diambil di tiap handler (dibahas materi Locals).