首页 文章

golang gorm lib执行sql文件的最佳解决方案

提问于
浏览
-3

Mabye有人有更简单的代码来执行sql文件由gorm lib?

// CARRIERS IMPORT
err := DB.Session.Model(model.Carriers{}).Count(&carriers).Error
if err != nil {
    panic(err)
} else if carriers == 0 {
    path, err := filepath.Abs("./dumps/carriers.sql")
    if err != nil {
        panic(err)
    }
    file, err := ioutil.ReadFile(path)
    if err != nil {
        panic(err)
    }
    DB.Session.Model(model.Carriers{}).Exec(string(file))
}

1 回答

  • 0

    当执行一个充满语句的SQL文件时,现有的sql命令行客户端不只是将文件内容发送到服务器 . 相反,他们解析文件并发出单独的语句 .

    如果要复制此功能,则需要自己将文件解析为单个语句并执行它们 .

    最简单的方法是调用外部命令行客户端 . 例如对于postgresql,你应该execpsql [connection args] -f <sql file> .

相关问题