Advertisement
Guest User

Untitled

a guest
Dec 24th, 2017
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Go 1.18 KB | None | 0 0
  1. package main
  2.  
  3. import (
  4.     "encoding/json"
  5.     "log"
  6.  
  7.     "github.com/go-pg/pg"
  8. )
  9.  
  10. type User struct {
  11.     ID              int64
  12.     PretendUsername string
  13.     Identity        *UserIdentity
  14.     IdentityID      int64
  15. }
  16.  
  17. type UserIdentity struct {
  18.     ID            int64
  19.     UserID        int64
  20.     Username      string
  21.     PreferredName string
  22. }
  23.  
  24. func main() {
  25.     db := pg.Connect(&pg.Options{
  26.         User:     "marceline",
  27.         Password: "marceline",
  28.         Addr:     "localhost:5432",
  29.         Database: "marcelinetest",
  30.     })
  31.  
  32.     err := db.DropTable(&User{}, nil)
  33.     if err != nil {
  34.         log.Println(err)
  35.     }
  36.     err = db.CreateTable(&User{}, nil)
  37.     if err != nil {
  38.         panic(err)
  39.     }
  40.     err = db.DropTable(&UserIdentity{}, nil)
  41.     if err != nil {
  42.         log.Println(err)
  43.     }
  44.     err = db.CreateTable(&UserIdentity{}, nil)
  45.     if err != nil {
  46.         panic(err)
  47.     }
  48.  
  49.     var user User
  50.     user.PretendUsername = "test2"
  51.     user.Identity = &UserIdentity{Username: "test2"}
  52.  
  53.     log.Println(db.Insert(user.Identity))
  54.     user.IdentityID = user.Identity.ID
  55.     log.Println(db.Insert(&user))
  56.  
  57.     var user2 User
  58.     db.Model(&user2).Column("user.*", "Identity").Limit(1).Select()
  59.     user2J, _ := json.Marshal(user2)
  60.     user2JS := string(user2J)
  61.  
  62.     log.Println(user2JS)
  63.  
  64. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement