package database import ( "gitea.timerzz.com/kedaya_haitao/common/pkg/database" "gorm.io/gorm/clause" "testing" ) func TestUpsert(t *testing.T) { db, err := database.InitDatabase(&database.DBOption{ Host: "192.168.31.55", User: "timerzz", Password: "zhhg1997", Port: "5432", DBName: "kedaya", }) if err != nil { t.Fatal(err) } err = db.AutoMigrate(&Product{}, &HistoryPrice{}) if err != nil { t.Fatal(err) } db.Clauses(clause.OnConflict{ Columns: []clause.Column{{Name: "pid"}}, DoUpdates: clause.AssignmentColumns([]string{"name", "color", "link", "orderable", "us_price", "cny_price", "cal_mark", "freight", "rate"}), }).Create([]Product{ { Name: "test", Pid: "test-1", Color: "green", Link: "www.baidu.com", Image: "image", Orderable: false, USPrice: 123, DWPrice: 3000, Freight: 120, }, { Name: "test2", Pid: "test-2", Color: "green", Link: "www.baidu.com", Image: "image", Orderable: false, USPrice: 421, DWPrice: 3000, }, }) }