Как использовать динамический столбец - PullRequest
0 голосов
/ 29 ноября 2018

Я хочу использовать динамический тип данных blob столбца в mariadb и использовать в проекте Go.когда выборка данных из базы данных с полем gorm blob равна нулю, почему?

type QrController struct {
}

func (controller *QrController) GetQrInfo(context context.Context) {
    qrCode := context.FormValue("qr")
    db, err := gorm.Open("mysql", "root:@/payro_db?charset=utf8&parseTime=True&loc=Local")
if (err != nil) {
        fmt.Println(err.Error())
        return
    }

    defer db.Close()

    var qr model.BrcQr

    if db.First(&qr, "code=?", qrCode).RecordNotFound() {

    }
      context.JSON(qr)
}

результат равен

{"qr_id": 0, "code": "", "type": 0," data ": null," creation_at ":" 0001-01-01T00: 00: 00Z "," creation_by ": null," status ": 0}

но данныеполе должно быть "{" merchant_id ": 1}

это структура Brc_Qr:

package model

import (
    "api/user"
    "database/sql"
    "time"
    "github.com/guregu/null"
)

var (
    _ = time.Second
    _ = sql.LevelDefault
    _ = null.Bool{}
)

type BrcQr struct {
    QrID      int           `gorm:"column:qr_id;primary_key"    json:"qr_id"`
    Code      string        `gorm:"column:code" json:"code"`
    Type      int           `gorm:"column:type" json:"type"`
    Data      []byte        `gorm:"column:data" json:"data"`
    CreatedAt time.Time     `gorm:"column:created_at"   json:"created_at"`
    CreatedBy null.Int      `gorm:"column:created_by"   json:"created_by"`
    Status    int           `gorm:"column:status" json:"status"`
}

// TableName sets the insert table name for this struct type
func (b *BrcQr) TableName() string {
    return "brc_qr"
}
...