Hai, apakah mungkin untuk mengganti nama kolom: ID, Created_at, updated_at, Deleted_at ?
Sejauh yang saya tahu saya dapat mengatur misalnya nama tabel dengan fungsi:
func (StructType) TableName() string {
return "MyCustomName"
}
Apakah mungkin tetapi dengan kolom? ini karena model data proyek sudah menetapkan nama bidang, dan misalnya kami tidak memiliki _updated_at_ tetapi _ModificationTimestamp_ jadi, bagaimana saya bisa melakukannya?
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 Hai, terima kasih. Tapi saya sebenarnya mencoba membuat gorm untuk mengambil nama lain untuk kolom yang dibuat otomatis: create_at, updated_at, id. Saya mencoba apa yang Anda katakan tetapi memberikan kesalahan karena misalnya kolom create_at sudah ditentukan:
column "created_at" specified more than once)
Hanya saja, jangan menyematkan mode default di struct Anda. Jika Anda melihat bagaimana itu didefinisikan, Anda akan melihat:
type Model struct {
ID uint `gorm:"primary_key"`
CreatedAt time.Time
UpdatedAt time.Time
DeletedAt *time.Time `sql:"index"`
}
Anda dapat menentukan bidang ini dalam model Anda sendiri atau membuat model dasar Anda sendiri dengan nama yang berbeda dan menyematkannya.
Komentar yang paling membantu
Hanya saja, jangan menyematkan mode default di struct Anda. Jika Anda melihat bagaimana itu didefinisikan, Anda akan melihat:
Anda dapat menentukan bidang ini dalam model Anda sendiri atau membuat model dasar Anda sendiri dengan nama yang berbeda dan menyematkannya.