Defining Models
Modellarni e'lon qilish
GORM'da "model" — oddiy Go struct'i, lekin maxsus maydon nomlari va tag'lar orqali jadval tuzilishini belgilaydi.
package main
import "time"
type User struct {
ID uint // "ID" nomi GORM tomonidan avtomatik asosiy kalit (primary key) deb tanilinadi
Name string
Age int
Email string `gorm:"unique"` // ustunga UNIQUE cheklovi qo'shadi
CreatedAt time.Time // GORM avtomatik to'ldiradi
UpdatedAt time.Time // GORM har yangilashda avtomatik yangilaydi
}GORM'ning "konventsiya kodifikatsiyadan ustun" ("convention over configuration") tamoyili: ID nomli maydon avtomatik asosiy kalit bo'ladi, CreatedAt/UpdatedAt nomli maydonlar esa GORM tomonidan avtomatik boshqariladi — hech qanday qo'shimcha sozlash shart emas. Struct maydonlaridan (User) jadval nomi ham avtomatik hosil qilinadi: ko'plik va kichik harf bilan — users. gorm:"unique" kabi tag'lar orqali qo'shimcha cheklovlarni belgilash mumkin (bu "JSON Encoding Basics" darsida ko'rgan json:"..." tag'lariga juda o'xshash mexanizm).
Key Takeaway
Key Takeaway:
GORM modellari — oddiy struct'lar; ID, CreatedAt, UpdatedAt kabi nomlar avtomatik ma'noga ega bo'ladi, qo'shimcha qoidalar gorm:"..." tag'lari orqali qo'shiladi.
NEXT UP
AutoMigrate Deep Dive