Я не нашел способа полностью автоматизировать этот процесс, но, по крайней мере, вы можете создать их, используя теги и немного кода.
Пример обходного пути:
Есть некоторыеgithub проекты в дикой природе, которые помогут вам достичь этого.
Например, structable
Вы должны будете добавить теги к своим членам Structs.
Пример из github:
type Stool struct {
Id int `stbl:"id, PRIMARY_KEY, AUTO_INCREMENT"`
Legs int `stbl:"number_of_legs"`
Material string `stbl:"material"`
Ignored string // will not be stored. No tag.
}
Если у вас есть эта часть, вы можете создать таблицу, как в следующем примере (также со страницы github)
stool := new(Stool)
stool.Material = "Wood"
db := getDb() // Get a sql.Db. You're on the hook to do this part.
// Create a new structable.Recorder and tell it to
// bind the given struct as a row in the given table.
r := structable.New(db, "mysql").Bind("test_table", stool)
// This will insert the stool into the test_table.
err := r.Insert()