Доброго времени суток!
Прошу вашей помощи. Пытаюсь использовать github.com/jackc/pgx/pgtype с github.com/jmoiron/sqlx
но при сохранении получаю ошибку `pdateRubrica failed: sql: converting argument $1 type: unsupported type pgtype.Varchar, a struct`. Если заменить pgtype на обычные то всё работает. Как можно заставить работать ?
Вот пример кода:
type Rubrica struct {
ID pgtype.Int2 `db:"id"`
Name pgtype.Varchar `db:"name"`
Weight pgtype.Int2 `db:"weight"`
}
func Connect(ctx context.Context) *TOPStore {
d := &stdlib.DriverConfig{
ConnConfig: pgx.ConnConfig{
PreferSimpleProtocol: true,
RuntimeParams: map[string]string{
"standard_conforming_strings": "on",
},
},
}
stdlib.RegisterDriverConfig(d)
db, err := sqlx.Connect("pgx", d.ConnectionString(connString))
if err != nil {
log.Fatalf("failed to sqlx Open: %v", err)
}
return db
}
func (s *Store) UpdateRubrica(rub *store.Rubrica) error {
sql := `UPDATE rubricator SET name=:name, weight=:weight WHERE id=:id`
if _, err := s.db.NamedExec(sql, rub); err != nil {
log.Fatalf("UpdateRubrica failed: %-v\n", err)
}
return nil
}
func main() {
...
rubrica := store.GetRubrica(1)
store.UpdateRubrica(rubrica)
}