Gorm: أتمتة جميع الهياكل تلقائيًا

تم إنشاؤها على ٢ يناير ٢٠١٤  ·  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 الساعة 1:49 مساءً ، كتب Jinzhu [email protected] :

مغلق # 38 https://github.com/jinzhu/gorm/issues/38.

-
قم بالرد على هذه الرسالة الإلكترونية مباشرة أو tHubhttps: //github.com/jinzhu/gorm/issues/38
.

الآن ، هل لديك طريقة جديدة لحلها؟
شكرا. تضمين التغريدة

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات