代码拉取完成,页面将自动刷新
package service
import (
"database/sql"
"fmt"
"gitee.com/nicole-go-libs/sql-to-struct-lib/internal/model"
"gitee.com/nicole-go-libs/sql-to-struct-lib/internal/templates"
"gitee.com/nicole-go-libs/sql-to-struct-lib/libs/words"
"log"
)
func SqlTwoStructByTable(dbEngine *sql.DB, dataBaseName string, packageName string, saveFilePwd string, tableName string) {
tableList, _ := model.GetColumnsByDatabaseName(dbEngine, dataBaseName, tableName)
for _, column := range tableList {
fmt.Println(column.TableName)
sqlTwoStructByTableName(dbEngine, dataBaseName, column.TableName, packageName, saveFilePwd)
//time.Sleep(500 * time.Millisecond) //模拟执行的耗时任务
}
}
func sqlTwoStructByTableName(dbEngine *sql.DB, dataBaseName string, tableName string, packageName string, saveFilePwd string) {
// 获取表信息
tableCol, _ := model.GetColumnsByTableName(dbEngine, dataBaseName, tableName)
saveFile(tableCol, tableName, packageName, saveFilePwd)
}
func saveFile(tableCol []*model.TableColumn, tableName string, packageName string, saveFilePwd string) {
// 使用 templete
tlp := templates.NewStructTemplate()
structCol := tlp.AssemblyColumns(tableCol)
err := tlp.Generate(packageName, tableName, structCol, saveFilePwd, fmt.Sprintf("%sModel", words.ToCamelCase(tableName)))
if err != nil {
log.Fatalf("template.Generate err: %v", err)
}
//println(fmt.Sprintf("%s", structCol))
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。