亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

gorm.io/gorm 庫不能與 graphQL 一起使用

gorm.io/gorm 庫不能與 graphQL 一起使用

Go
慕標5832272 2022-08-01 10:06:49
當我使用 github.com/jinzhu/gorm 時,我正在嘗試將 github.com/jinzhu/gorm 庫與 graphQL 一起使用 go run github.com/99designs/gqlgen init  gqlgen generate生成一個 graphQL 項目。我編寫邏輯代碼以將數據保存到MySQL innodb引擎表中。一切都很好,因為這是db。自動遷移不會創建外鍵約束。所以。我將庫更改為“grom.io/gorm”,外鍵是在db創建的。調用自動遷移函數,但是當我將數據發布到http服務器時,會彈出很多錯誤消息。以下是我的代碼。// project root directory server.gopackage mainimport (    "fmt"    "log"    "net/http"    "os"    "github.com/99designs/gqlgen/graphql/handler"    "github.com/99designs/gqlgen/graphql/playground"    // _ "github.com/go-sql-driver/mysql"    "github.com/yangwawa0323/go-orders-graphql-api/graph"    "github.com/yangwawa0323/go-orders-graphql-api/graph/generated"    "github.com/yangwawa0323/go-orders-graphql-api/graph/model"    "gorm.io/driver/mysql"    "gorm.io/gorm")const defaultPort = "8080"const dbName = "test_db4"var db *gorm.DBfunc initDB() *gorm.DB {    var err error    dataSourceName := "root:secret@tcp(localhost:3306)/?parseTime=True"    //db, err = gorm.Open("mysql", dataSourceName)    db, err = gorm.Open(mysql.Open(dataSourceName), &gorm.Config{})    if err != nil {        fmt.Println(err)        panic("failed to connect database")    }    // db.LogMode(true)    db.Debug()    // Create the database. This is a one-time step.    // Comment out if running multiple times - You may see an error otherwise    db.Exec(fmt.Sprintf("CREATE DATABASE IF NOT EXISTS %s", dbName))    db.Exec(fmt.Sprintf("USE %s", dbName))    // Migration to create tables for Order and Item schema    db.AutoMigrate(&model.Order{}, &model.Item{})    return db}func main() {    port := os.Getenv("PORT")    if port == "" {        port = defaultPort    }為了防止再次運行命令,替換我定義的模型。我創建了一個新的 go 文件gqlgen generate
查看完整描述

2 回答

?
千巷貓影

TA貢獻1829條經驗 獲得超7個贊

您必須實現自己的解析器。

實際上沒有太多的錯誤消息,它被稱為。錯誤消息中只有一個錯誤:Stack Tracesnot implemented


查看完整回答
反對 回復 2022-08-01
?
偶然的你

TA貢獻1841條經驗 獲得超3個贊

問題解決了,我正在升級 gorm.io/gorm v.1.20.8 庫


以下是我的項目go.mod文件內容。




module github.com/yangwawa0323/go-orders-graphql-api


go 1.15


require (

        github.com/99designs/gqlgen v0.13.0

        github.com/agnivade/levenshtein v1.1.0 // indirect

        github.com/dgryski/trifles v0.0.0-20200830180326-aaf60a07f6a3 // indirect

        github.com/hashicorp/golang-lru v0.5.4 // indirect

        github.com/kr/text v0.2.0 // indirect

        github.com/mitchellh/mapstructure v1.4.0 // indirect

        github.com/stretchr/testify v1.6.1 // indirect

        github.com/vektah/gqlparser/v2 v2.1.0

        gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect

        gopkg.in/yaml.v2 v2.4.0 // indirect

        gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776 // indirect

        gorm.io/driver/mysql v1.0.3

        gorm.io/gorm v1.20.8

)

升級庫后,我運行命令


shell$ gqlgen generate

一切都很好。


這是我 github.com 源代碼。如果您有興趣,可以下載并嘗試。


go-orders-graphql-api


查看完整回答
反對 回復 2022-08-01
  • 2 回答
  • 0 關注
  • 141 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號