Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package main
- import (
- "database/sql/driver"
- "encoding/json"
- "github.com/jinzhu/gorm"
- _ "github.com/lib/pq"
- )
- type JSONB map[string]interface{}
- func (j JSONB) Value() (driver.Value, error) {
- valueString, err := json.Marshal(j)
- return string(valueString), err
- }
- func (j *JSONB) Scan(value interface{}) error {
- if err := json.Unmarshal(value.([]byte), &j); err != nil {
- return err
- }
- return nil
- }
- type User struct {
- gorm.Model
- Info JSONB `sql:"type:jsonb"`
- }
- func main() {
- db, _ := gorm.Open("postgres", "user=myuser password=mypassword dbname=mydbname sslmode=disable")
- db.CreateTable(&User{})
- db.Create(&User{Info: JSONB{"age": 27, "name": "Yan"}})
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement