Gorm: Автоматически переносить все структуры

Созданный на 2 янв. 2014  ·  3Комментарии  ·  Источник: go-gorm/gorm

Можно ли автоматизировать все структуры автоматически?

В настоящее время кажется, что имя каждой структуры для миграции необходимо передать этой функции https://github.com/jinzhu/gorm/blob/690cb1430c2e27011324c51826301a7daf728e65/main.go#L261

Самый полезный комментарий

Поскольку gorm не может знать, какую структуру вы хотите перенести, не может сделать это автоматически.

Но что-то подобное я делаю в своем приложении.

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(), "...")
        }
    }
}

Все 3 Комментарий

Поскольку gorm не может знать, какую структуру вы хотите перенести, не может сделать это автоматически.

Но что-то подобное я делаю в своем приложении.

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(), "...")
        }
    }
}

Спасибо за совет!

2 января 2014 г. в 13:49 Jinzhu [email protected] написал:

Закрыт №38 https://github.com/jinzhu/gorm/issues/38.

-
Ответьте на это письмо напрямую или просмотрите его на Gi tHubhttps: //github.com/jinzhu/gorm/issues/38.
.

Теперь у вас есть новый метод решения этой проблемы?
Спасибо. @jinzhu

Была ли эта страница полезной?
0 / 5 - 0 рейтинги