Gorm: Changer le nom des colonnes générées par défaut

Créé le 18 mai 2017  ·  3Commentaires  ·  Source: go-gorm/gorm

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 ?

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 :

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.

Tous les 3 commentaires

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.

Cette page vous a été utile?
0 / 5 - 0 notes

Questions connexes

alanyuen picture alanyuen  ·  3Commentaires

bramp picture bramp  ·  3Commentaires

kumarsiva07 picture kumarsiva07  ·  3Commentaires

superwf picture superwf  ·  3Commentaires

pjebs picture pjebs  ·  3Commentaires