- Levantar db
docker compose up -d
- Ejecutar
go run main.go
// Motor de base de datos a conectar
driver := storage.Postgres
storage.New(driver)
storage.DB().AutoMigrate(&model.Product{}, &model.InvoiceHeader{}, &model.InvoiceItem{})
// La observacion es opcional
obs := "testing with go"
product := model.Product{
Name: "Curso de Testing",
Price: 500,
Observations: &obs,
}
torage.DB().Create(&product)
product1 := model.Product{
Name: "Curso de GO",
Price: 300,
}
obs := "testing with go"
product2 := model.Product{
Name: "Curso de Testing",
Price: 500,
Observations: &obs,
}
product3 := model.Product{
Name: "Curso de JS",
Price: 200,
}
products := []model.Product{product1, product2, product3}
storage.DB().Create(&products)
products := make([]model.Product, 0)
storage.DB().Find(&products)
for _, product := range products {
fmt.Printf("%d - %s \n", product.ID, product.Name)
}
product := model.Product{}
storage.DB().First(&product, 2)
fmt.Printf("%d - %s\n", product.ID, product.Name)
product := model.Product{}
product.ID = 2
storage.DB().Model(&product).Updates(model.Product{Name: "Curso Testing", Price: 150})
product := model.Product{}
product.ID = 2
storage.DB().Delete(&product)
product := model.Product{}
product.ID = 2
storage.DB().Unscoped().Delete(&product)
invoice := model.InvoiceHeader{
Client: "Eduardo Pérez",
InvoiceItems: []model.InvoiceItem{
{ProductId: 1},
{ProductId: 2},
},
}
storage.DB().Create(&invoice)