Salut, est-il possible de remplacer le nom des colonnes : ID, created_at, updated_at, Deleted_at ?
Autant que je sache, je peux définir par exemple le nom de la table avec la fonction :
func (StructType) TableName() string {
return "MyCustomName"
}
Est-ce possible mais avec les colonnes ? c'est parce que le modèle de données du projet a déjà établi les noms des champs, et par exemple nous n'avons pas _updated_at_ mais _ModificationTimestamp_ alors, comment puis-je le faire ?
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 Salut, merci. Mais j'essaie exactement de faire en sorte que gorm prenne un autre nom pour les colonnes créées automatiquement : created_at, updated_at, id. J'ai essayé ce que vous avez dit mais cela a donné une erreur car par exemple la colonne created_at est déjà spécifiée :
column "created_at" specified more than once)
N'intégrez simplement pas le mode par défaut dans votre structure. Si vous regardez comment il est défini, vous verrez :
type Model struct {
ID uint `gorm:"primary_key"`
CreatedAt time.Time
UpdatedAt time.Time
DeletedAt *time.Time `sql:"index"`
}
Vous pouvez définir ces champs dans votre propre modèle ou créer votre propre modèle de base avec des noms différents et l'intégrer.
Commentaire le plus utile
N'intégrez simplement pas le mode par défaut dans votre structure. Si vous regardez comment il est défini, vous verrez :
Vous pouvez définir ces champs dans votre propre modèle ou créer votre propre modèle de base avec des noms différents et l'intégrer.