package main
import (
"github.com/gocarina/gocsv"
"gorm.io/driver/postgres"
"gorm.io/gorm"
"os"
)
type NotUsed struct {
Name string
}
type Client struct { // Our example struct, you can use "-" to ignore a field
DeviceId string `csv:"device_id" gorm:"device_id"`
uuid string `csv:"uuid" gorm:"uuid"`
GroupIndex string `csv:"group_index" gorm:"group_index"`
GroupType string `csv:"group_type" gorm:"group_type"`
GateStatus string `csv:"gate_status" gorm:"gate_status"`
ImgUrl string `csv:"img_url" gorm:"img_url"`
PlateNumber string `csv:"plate_number" gorm:"plate_number"`
Threshold string `csv:"threshold" gorm:"threshold"`
PlateScore string `csv:"plate_score" gorm:"plate_score"`
RecordTime string `csv:"record_time" gorm:"record_time"`
EventTime string `csv:"event_time" gorm:"event_time"`
ElapsedTime string `csv:"elapsed_time" gorm:"elapsed_time"`
}
var DbEngin *gorm.DB
func InitDb() {
dsn := "host=192.168.1.127 user=postgres password=123456 dbname=postgres port=5432 sslmode=disable TimeZone=Asia/Shanghai"
gormdb, _ := gorm.Open(postgres.Open(dsn), &gorm.Config{})
gormdb.AutoMigrate(&Client{})
DbEngin = gormdb
}
func main() {
clientsFile, err := os.OpenFile("0001.csv", os.O_RDWR|os.O_CREATE, os.ModePerm)
if err != nil {
panic(err)
}
defer clientsFile.Close()
InitDb()
clients := []*Client{}
if err := gocsv.UnmarshalFile(clientsFile, &clients); err != nil { // Load clients from file
panic(err)
}
for _, client := range clients {
//fmt.Printf("%#v", client)
DbEngin.Create(&client)
}
}
网友评论