Gorm: Otomatiskan semua struct secara otomatis

Dibuat pada 2 Jan 2014  ·  3Komentar  ·  Sumber: go-gorm/gorm

Apakah mungkin untuk mengotomatiskan semua struct secara otomatis?

Saat ini sepertinya nama setiap struct yang akan dimigrasi harus diteruskan ke fungsi ini https://github.com/jinzhu/gorm/blob/690cb1430c2e27011324c51826301a7daf728e65/main.go#L261

Komentar yang paling membantu

Karena gorm tidak dapat mengetahui struct mana yang ingin Anda migrasikan, jadi tidak dapat melakukannya secara otomatis.

Tetapi saya melakukan sesuatu seperti ini di aplikasi saya.

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

Semua 3 komentar

Karena gorm tidak dapat mengetahui struct mana yang ingin Anda migrasikan, jadi tidak dapat melakukannya secara otomatis.

Tetapi saya melakukan sesuatu seperti ini di aplikasi saya.

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

Terima kasih atas tipnya!

Pada Kamis, 2 Januari 2014 pukul 13:49, Jinzhu [email protected] menulis:

Tutup #38 https://github.com/jinzhu/gorm/issues/38.


Balas email ini secara langsung atau lihat di Gi tHubhttps://github.com/jinzhu/gorm/issues/38
.

Sekarang, apakah Anda memiliki metode baru untuk menyelesaikannya?
Terima kasih. @jinzhu

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

izouxv picture izouxv  ·  3Komentar

corvinusy picture corvinusy  ·  3Komentar

pjebs picture pjebs  ·  3Komentar

koalacxr picture koalacxr  ·  3Komentar

easonlin404 picture easonlin404  ·  3Komentar