如何让gorm中的多个模型自动迁移

tem*_* hd 4 go go-gorm go-gin

我可以看到我们像这样自动迁移的文档, db.AutoMigrate(&model.TheTodo{})

如果我们有很多多重模型怎么办?db.AutoMigrate(&model.TheTodo{}, &model.TheBlog{}, &model.Employee{}, and many more...... )

如果我们这样放置,gorm 会创建该表吗?有什么方法可以让 AutoMigrate 内部变得简短吗?

db.AutoMigrate(allmodels)
Run Code Online (Sandbox Code Playgroud)

这可能吗?

dav*_*ave 6

一种选择是将结构嵌套在AutoMigrate函数内:

db.AutoMigrate(
    &User{}, 
    &Product{},
    &Order{},
)
Run Code Online (Sandbox Code Playgroud)

或者,如果你想让内部变得“短”,你可以这样做:

var models = []interface{}{&User{}, &Product{}, &Order{}}

db.Automigrate(models...)
Run Code Online (Sandbox Code Playgroud)