Hallo, ist es möglich, den Namen der Spalten zu überschreiben: ID, created_at, updated_at, delete_at ?
So weit ich weiß kann ich zum Beispiel den Namen der Tabelle mit der Funktion setzen:
func (StructType) TableName() string {
return "MyCustomName"
}
Ist es möglich, aber mit den Spalten? Dies liegt daran, dass das Datenmodell des Projekts bereits die Namen der Felder festgelegt hat und wir beispielsweise nicht _updated_at_, sondern _ModificationTimestamp_ haben. Wie kann ich das tun?
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 Hallo, danke. Aber ich versuche gerade, gorm dazu zu bringen, einen anderen Namen für die automatisch erstellten Spalten zu verwenden: created_at, updated_at, id. Ich habe versucht, was Sie gesagt haben, aber es gab einen Fehler, weil zum Beispiel die Spalte created_at bereits angegeben ist:
column "created_at" specified more than once)
Betten Sie einfach nicht den Standardmodus in Ihre Struktur ein. Wenn Sie sehen, wie es definiert ist, sehen Sie:
type Model struct {
ID uint `gorm:"primary_key"`
CreatedAt time.Time
UpdatedAt time.Time
DeletedAt *time.Time `sql:"index"`
}
Sie können diese Felder in Ihrem eigenen Modell definieren oder ein eigenes Basismodell mit anderen Namen erstellen und einbetten.
Hilfreichster Kommentar
Betten Sie einfach nicht den Standardmodus in Ihre Struktur ein. Wenn Sie sehen, wie es definiert ist, sehen Sie:
Sie können diese Felder in Ihrem eigenen Modell definieren oder ein eigenes Basismodell mit anderen Namen erstellen und einbetten.