diff options
Diffstat (limited to 'cmd/airlines/main.go')
| -rw-r--r-- | cmd/airlines/main.go | 60 |
1 files changed, 21 insertions, 39 deletions
diff --git a/cmd/airlines/main.go b/cmd/airlines/main.go index 6bf097a..092a280 100644 --- a/cmd/airlines/main.go +++ b/cmd/airlines/main.go @@ -1,15 +1,15 @@ package main import ( + "context" + "encoding/json" "fmt" "os" - "time" - "github.com/joho/godotenv" - "gorm.io/driver/postgres" - "gorm.io/gorm" + ljson "airlines/pkg/adapters/json" + "airlines/pkg/store" - "airlines/pkg/model" + "github.com/joho/godotenv" ) func main() { @@ -19,44 +19,26 @@ func main() { fmt.Println(err) } - dsn := fmt.Sprintf("postgres://%s:%s@%s:%s/%s", os.Getenv("DB_USER"), os.Getenv("DB_PASSWORD"), os.Getenv("DB_HOST"), os.Getenv("DB_PORT"), os.Getenv("DB_NAME")) - db, err := gorm.Open(postgres.Open(dsn), &gorm.Config{}) - + store, err := store.NewStore(fmt.Sprintf("postgres://%s:%s@%s:%s/%s", os.Getenv("DB_USER"), os.Getenv("DB_PASSWORD"), os.Getenv("DB_HOST"), os.Getenv("DB_PORT"), os.Getenv("DB_NAME"))) if err != nil { - fmt.Println(err) - return - } - // db.Migrator().DropTable(&model.User{}, &model.Card{}, &model.Flight{}) // ;-) - if err := db.AutoMigrate(&model.User{}, &model.Card{}, &model.Flight{}); err != nil { - return + panic(err) } + _ = store.AutoMigrate() - jinzhuFlights := []model.Flight{ - { - Number: "SU1111", - From: "North pole", - To: "Mars", - Departure: time.Now(), - Arrival: time.Now().AddDate(0, 0, 162), - }, - } - user := model.User{ - Name: "Jinzhu", - Age: 18, - Birthday: time.Now(), - Flights: jinzhuFlights, - Cards: []model.Card{ - { - Prefix: "AA", - Number: 123, - Bonusprogramm: "AbObA airlines SuPrEmE", - Flights: jinzhuFlights, - }, - }, + // i, err := json.ImportForumProfilesJSON(context.Background(), store, "../../full.json", 16384) + // fmt.Println(i, err) + f, err := os.Open("../../full.json") + + dec := json.NewDecoder(f) + // optional: be strict about unexpected fields + // dec.DisallowUnknownFields() + + var root ljson.JsonRoot + if err := dec.Decode(&root); err != nil { + panic(err) } - // Create a single record - result := db.Create(&user) - fmt.Println(result.Error) + root.DumpToDb(context.Background(), store) + // fmt.Println(root) } |
