GORM: Model & Migration
Penjelasan
GORM adalah ORM paling populer di Go (bukan bagian resmi Echo, tapi paling umum dipasangkan) — tabel direpresentasikan sebagai struct Go biasa, migration dijalankan lewat AutoMigrate() yang otomatis menyesuaikan struktur tabel database dengan struct Go-nya.
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{}) // otomatis bikin/sesuaikan tabel produk
}
Praktikum
Buat struct Artikel dengan field ID (uint, primaryKey), Judul (string), dan Isi (string). Tulis contoh AutoMigrate(&Artikel{}) untuk membuat tabelnya.
Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.
Tips
AutoMigrate() bersifat ADITIF — otomatis menambah kolom/tabel baru yang belum ada, TAPI TIDAK PERNAH menghapus kolom lama yang sudah tidak dipakai di struct (untuk mencegah kehilangan data tidak sengaja) — kalau perlu hapus kolom, harus dilakukan manual lewat migration terpisah.