Gorm: Migrer automatiquement toutes les structures

Créé le 2 janv. 2014  ·  3Commentaires  ·  Source: go-gorm/gorm

Est-il possible de migrer automatiquement toutes les structures ?

Actuellement, il semble que le nom de chaque structure à migrer doive être transmis à cette fonction https://github.com/jinzhu/gorm/blob/690cb1430c2e27011324c51826301a7daf728e65/main.go#L261

Commentaire le plus utile

Parce que gorm ne peut pas savoir quelle structure vous souhaitez migrer, il ne peut donc pas le faire automatiquement.

Mais je fais quelque chose comme ça dans mon application.

package main

import (
    "fmt"
    . "xxx.com/xxxx/xxxx/app/models"
    . "xxx.com/xxxx/xxxx/db"
    "reflect"
)

func main() {
    for _, model := range []interface{}{
        Payment{}, Invoice{}, Transaction{},
        SubscriptionService{}, SubscriptionBenefit{}, Subscription{},
        Address{}, User{}, UserService{},
        Service{},
    } {
        if err := DB.AutoMigrate(model).Error; err != nil {
            fmt.Println(err)
        } else {
            fmt.Println("Auto migrating", reflect.TypeOf(model).Name(), "...")
        }
    }
}

Tous les 3 commentaires

Parce que gorm ne peut pas savoir quelle structure vous souhaitez migrer, il ne peut donc pas le faire automatiquement.

Mais je fais quelque chose comme ça dans mon application.

package main

import (
    "fmt"
    . "xxx.com/xxxx/xxxx/app/models"
    . "xxx.com/xxxx/xxxx/db"
    "reflect"
)

func main() {
    for _, model := range []interface{}{
        Payment{}, Invoice{}, Transaction{},
        SubscriptionService{}, SubscriptionBenefit{}, Subscription{},
        Address{}, User{}, UserService{},
        Service{},
    } {
        if err := DB.AutoMigrate(model).Error; err != nil {
            fmt.Println(err)
        } else {
            fmt.Println("Auto migrating", reflect.TypeOf(model).Name(), "...")
        }
    }
}

Merci pour le conseil!

Le jeu. 2 janvier 2014 à 13:49, Jinzhu [email protected] a écrit :

Fermé #38 https://github.com/jinzhu/gorm/issues/38.

-
Répondez directement à cet e-mail ou consultez-le sur Gi tHubhttps://github.com/jinzhu/gorm/issues/38
.

Maintenant, avez-vous une nouvelle méthode pour le résoudre ?
Merci. @jinzhu

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

Questions connexes

bramp picture bramp  ·  3Commentaires

koalacxr picture koalacxr  ·  3Commentaires

rfyiamcool picture rfyiamcool  ·  3Commentaires

corvinusy picture corvinusy  ·  3Commentaires

sredxny picture sredxny  ·  3Commentaires