Можно ли запустить db.AutoMigrate () с динамическим вводом JSON в GORM? - PullRequest
0 голосов
/ 26 сентября 2018

У меня есть следующая функция, в которой я пытаюсь добавить отсутствующие столбцы в таблицу базы данных PostgreSQL с помощью GORM .Данные поступают из HTTP-запроса и представляют собой JSON.

router.POST("/up", func(c *gin.Context) {

    raw, _ := c.GetRawData()
    parsed, _ := gabs.ParseJSON(raw)

    db, err := gorm.Open("postgres", "host=" + os.Getenv("HOST") + " port=5432 user=" + os.Getenv("USER") + " dbname=something password=" + os.Getenv("PASSWORD"))

    [...]

    db.AutoMigrate(parsed.Data())

    defer db.Close()

})

Это происходит со странной ошибкой (на немецком).

(pq: Bezeichner в Anführungszeichen hat Länge null bei»" "«)

Что в переводе означает следующее.

(pq: цитируемый идентификатор имеет длину ноль в »" "«)

JSON, с которым я создаю HTTP-запрос, выглядит следующим образом.

{
  "FieldA": "blah",
  "FieldB": "nope",
  "Hostname": "yo.host.com",
  "Updated": "2018.06.13 21:00:33"
}

Есть идеи, как это сделать?Идея состоит в добавлении столбца в базу данных каждый раз, когда новое поле отправляется на сервер.

...