根据给定的字符串数组动态初始化结构

问题描述 投票:0回答:1

我正在使用gorm查询和管理mysql。以下代码片段中名为SyncDB的函数将迁移user.go目录下schema文件中找到的最新用户架构。

    package db

    import (
       "my-server/db/schema"
       "github.com/jinzhu/gorm"
    )

    func SyncDB(db *gorm.DB) {

        db.AutoMigrate(&schema.User{})

    }

我在schema目录下有多个文件。我尝试读取目录schema下的所有文件名,并将文件名作为数组,如下所示:

filenames := []string{
   "user.go",
   "password.go",
   "profile.go",
}

是否有使用filenames数组并动态调用的方法:

db.AutoMigrate(&schema.User{})

例如,在下一个呼叫中,&schema.User{}&schema.Password{}替换。我该如何使它变得动态?

我正在使用gorm查询和管理mysql。以下代码片段中名为SyncDB的函数将迁移模式目录下user.go文件中找到的最新用户模式。包db ...

arrays go struct go-gorm
1个回答
0
投票

无法发送文件。我建议创建slice of struct并将其传递到AutoMigrate中,如下所述:

© www.soinside.com 2019 - 2024. All rights reserved.