diff --git a/2022/01/go_postgresql1/Program.go b/2022/01/go_postgresql1/Program.go new file mode 100644 index 0000000..589149b --- /dev/null +++ b/2022/01/go_postgresql1/Program.go @@ -0,0 +1,40 @@ +package main + +import ( + "fmt" + postgres "gorm.io/driver/postgres" + gorm "gorm.io/gorm" + "log" +) + +type User struct { + Id uint `gorm:"primaryKey"` + FirstName string + LastName string + Locked bool +} + +func main() { + url := "host=localhost user=gorm password=gorm dbname=gorm port=5432 sslmode=disable TimeZone=Europe/Warsaw" + config := gorm.Config{} + con, err := gorm.Open(postgres.Open(url), &config) + if err != nil { + log.Panicf("Sorry, I couldn't create a connection to database %v", err) + return + } + + err = con.AutoMigrate(&User{}) + if err != nil { + log.Panicf("I couldn't migrate user %v", err) + return + } + + u := User{ + FirstName: "Tomasz", + LastName: "Półgrabia", + Locked: false, + } + con.Create(&u) + + fmt.Printf("Created first user %v", u) +} diff --git a/2022/01/go_postgresql1/docker-compose.yml b/2022/01/go_postgresql1/docker-compose.yml new file mode 100644 index 0000000..3f4b836 --- /dev/null +++ b/2022/01/go_postgresql1/docker-compose.yml @@ -0,0 +1,10 @@ +version: "3.9" # optional since v1.27.0 +services: + postgresql: + image: postgres:14 + environment: + - POSTGRES_PASSWORD=123456 + ports: + - "5432:5432" + volumes: + - c:\\developer\\bin\\postgresql\\data:/var/lib/postgresql/data