driver.Valuer не вызывается для DB.Create () с gorm - PullRequest
0 голосов
/ 01 декабря 2018

У меня очень простая структура:

type MapGeometry struct {

    // attributes
    Attributes sparks.JSONMap `json:"attributes,omitempty"`

    geometryField geo.Geometry

    // UUID of the soil component
    // Format: uuid
    ID strfmt.UUID `json:"id,omitempty"`

    // The map unit id
    // Format: uuid
    MapUnitID strfmt.UUID `json:"map_unit_id,omitempty"`
}

// Scan implements the sql.Scanner interface
func (m * MapGeometry) Scan(data []byte) error {
    pretty.Log("never called")

    return nil
}

// Value implements the driver.Valuer interface.
func (m MapGeometry) Value() (driver.Value, error) {
    pretty.Log("never called")

    return nil, nil
}

Когда я использую соединение gorm.DB для вызова:

mapgeo := &MapGeometry{}
db.Create(mapgeo)

Я ожидаю, что драйвер SQL вызовет мой пользовательский Valuer, но это никогда не происходит.У кого-нибудь была эта проблема с gorm?

Использование go 1.11 и gorm (последняя версия)

...