Add multiple records to database
This commit is contained in:
parent
a5aaba4f9a
commit
d53905dd76
BIN
ZPRP_Rental
BIN
ZPRP_Rental
Binary file not shown.
|
@ -12,7 +12,7 @@ import (
|
|||
func Connect() *pg.DB {
|
||||
opts := &pg.Options{
|
||||
User: "postgres",
|
||||
Password: "",
|
||||
Password: "REALY ? ;-)",
|
||||
Addr: "localhost:5432",
|
||||
Database: "myDB",
|
||||
}
|
||||
|
|
|
@ -35,6 +35,27 @@ func (pi *ProductItem) Save(db *pg.DB) error {
|
|||
return nil
|
||||
}
|
||||
|
||||
func (pi *ProductItem) SaveAndReturn(db *pg.DB) (*ProductItem, error) {
|
||||
InsertResult, insertErr := db.Model(pi).Returning("*").Insert()
|
||||
if insertErr != nil{
|
||||
log.Printf("Blad przy dodawaniu nowego itemu, Powod: %v\n", insertErr)
|
||||
return nil, insertErr
|
||||
}
|
||||
log.Printf("ProduktItem dodany. \n")
|
||||
log.Printf("Otzrymana wartosc: %v\n", InsertResult.RowsAffected)
|
||||
return pi, nil
|
||||
}
|
||||
|
||||
func (pi *ProductItem) SaveMultiple(db *pg.DB, items []*ProductItem) error {
|
||||
_, insertErr := db.Model(items[0], items[1]).Insert()
|
||||
if insertErr != nil {
|
||||
log.Printf("Blad multi dodawania, powod: %v\n", insertErr)
|
||||
return insertErr
|
||||
}
|
||||
log.Printf("Multidodawanie zakończone sukcesem.")
|
||||
return nil
|
||||
}
|
||||
|
||||
func CreateProductItemsTable(db *pg.DB) error {
|
||||
opts := &orm.CreateTableOptions{
|
||||
IfNotExists: true,
|
||||
|
|
29
main.go
29
main.go
|
@ -13,9 +13,9 @@ func main() {
|
|||
}
|
||||
|
||||
func SaveProduct(dbRef *pg.DB) {
|
||||
newPI := &db.ProductItem {
|
||||
Name: "Product 1",
|
||||
Desc: "Product 1 desc",
|
||||
newPI1 := &db.ProductItem {
|
||||
Name: "Product 5",
|
||||
Desc: "Product 2 desc",
|
||||
Image: "This is image path",
|
||||
Price: 4.5,
|
||||
Features: struct {
|
||||
|
@ -31,5 +31,24 @@ func SaveProduct(dbRef *pg.DB) {
|
|||
UpdateAt: time.Now(),
|
||||
IsActive: true,
|
||||
}
|
||||
newPI.Save(dbRef)
|
||||
}
|
||||
newPI2 := &db.ProductItem {
|
||||
Name: "Product 6",
|
||||
Desc: "Product 2 desc",
|
||||
Image: "This is image path",
|
||||
Price: 4.5,
|
||||
Features: struct {
|
||||
Name string
|
||||
Desc string
|
||||
Imp int
|
||||
}{
|
||||
Name: "F1",
|
||||
Desc: "F1 Desc",
|
||||
Imp: 3,
|
||||
},
|
||||
CreateAt: time.Now(),
|
||||
UpdateAt: time.Now(),
|
||||
IsActive: true,
|
||||
}
|
||||
totalItems := []*db.ProductItem{newPI1, newPI2}
|
||||
newPI1.SaveMultiple(dbRef, totalItems)
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue