ΠΡΠΈΠ²Π΅Ρ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΈΠΌΡ ΡΡΠΎΠ»Π±ΡΠΎΠ²: ID, created_at, updated_at, deleted_at?
ΠΠ°ΡΠΊΠΎΠ»ΡΠΊΠΎ Ρ Π·Π½Π°Ρ, Ρ ΠΌΠΎΠ³Ρ ΡΠΊΠ°Π·Π°ΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΠΌΡ ΡΠ°Π±Π»ΠΈΡΡ Ρ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ:
func (StructType) TableName() string {
return "MyCustomName"
}
ΠΠΎΠΆΠ½ΠΎ Π»ΠΈ, Π½ΠΎ Ρ ΠΊΠΎΠ»ΠΎΠ½Π½Π°ΠΌΠΈ? ΡΡΠΎ ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ ΠΌΠΎΠ΄Π΅Π»Ρ Π΄Π°Π½Π½ΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΡΠΆΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ»Π° ΠΈΠΌΠ΅Π½Π° ΠΏΠΎΠ»Π΅ΠΉ, ΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ Π½Π°Ρ Π½Π΅Ρ _updated_at_, Π½ΠΎ _ModificationTimestamp_, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Ρ ΠΌΠΎΠ³Ρ ΡΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ?
http://jinzhu.me/gorm/models.html#conventions
// Overriding Column Name
type Animal struct {
AnimalId int64 `gorm:"column:beast_id"` // set column name to `beast_id`
Birthday time.Time `gorm:"column:day_of_the_beast"` // set column name to `day_of_the_beast`
Age int64 `gorm:"column:age_of_the_beast"` // set column name to `age_of_the_beast`
}
@smacker ΠΡΠΈΠ²Π΅Ρ, ΡΠΏΠ°ΡΠΈΠ±ΠΎ. ΠΠΎ Ρ ΠΊΠ°ΠΊ ΡΠ°Π· ΠΏΡΡΠ°ΡΡΡ Π·Π°ΡΡΠ°Π²ΠΈΡΡ gorm ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄ΡΡΠ³ΠΎΠ΅ ΠΈΠΌΡ Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ
ΡΡΠΎΠ»Π±ΡΠΎΠ²: created_at, updated_at, id. Π― ΠΏΡΠΎΠ±ΠΎΠ²Π°Π» ΡΠΎ, ΡΡΠΎ Π²Ρ ΡΠΊΠ°Π·Π°Π»ΠΈ, Π½ΠΎ ΡΡΠΎ Π΄Π°Π»ΠΎ ΠΎΡΠΈΠ±ΠΊΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠΎΠ»Π±Π΅Ρ created_at ΡΠΆΠ΅ ΡΠΊΠ°Π·Π°Π½:
column "created_at" specified more than once)
ΠΡΠΎΡΡΠΎ Π½Π΅ Π²ΡΡΡΠ°ΠΈΠ²Π°ΠΉΡΠ΅ ΠΌΠΎΠ΄ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π² ΡΠ²ΠΎΡ ΡΡΡΡΠΊΡΡΡΡ. ΠΡΠ»ΠΈ Π²Ρ ΠΏΠΎΡΠΌΠΎΡΡΠΈΡΠ΅, ΠΊΠ°ΠΊ ΡΡΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ, Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅:
type Model struct {
ID uint `gorm:"primary_key"`
CreatedAt time.Time
UpdatedAt time.Time
DeletedAt *time.Time `sql:"index"`
}
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΡΠΈ ΠΏΠΎΠ»Ρ Π² ΡΠ²ΠΎΠ΅ΠΉ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΈΠ»ΠΈ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ Π±Π°Π·ΠΎΠ²ΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ ΠΈ Π²ΡΡΡΠΎΠΈΡΡ Π΅Π΅.
Π‘Π°ΠΌΡΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ
ΠΡΠΎΡΡΠΎ Π½Π΅ Π²ΡΡΡΠ°ΠΈΠ²Π°ΠΉΡΠ΅ ΠΌΠΎΠ΄ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π² ΡΠ²ΠΎΡ ΡΡΡΡΠΊΡΡΡΡ. ΠΡΠ»ΠΈ Π²Ρ ΠΏΠΎΡΠΌΠΎΡΡΠΈΡΠ΅, ΠΊΠ°ΠΊ ΡΡΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ, Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅:
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΡΠΈ ΠΏΠΎΠ»Ρ Π² ΡΠ²ΠΎΠ΅ΠΉ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΈΠ»ΠΈ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ Π±Π°Π·ΠΎΠ²ΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ ΠΈ Π²ΡΡΡΠΎΠΈΡΡ Π΅Π΅.