FloorVisualizer/cmd/import_articles/main.go

43 lines
942 B
Go
Raw Permalink Normal View History

package main
import (
"encoding/json"
"fmt"
"log"
"os"
"floorvisualizer/internal/model"
"floorvisualizer/internal/repository"
)
func main() {
db, err := repository.Connect("postgres://postgres:dev123456@localhost:5432/floorvisualizer?sslmode=disable")
if err != nil {
log.Fatalf("Failed to connect: %v", err)
}
defer db.Close()
log.Println("Connected")
db.Exec("DELETE FROM articles")
db.Exec("ALTER SEQUENCE articles_id_seq RESTART WITH 1")
log.Println("Truncated")
data, err := os.ReadFile("data/articles.json")
if err != nil {
log.Fatalf("read json: %v", err)
}
var articles []model.Article
if err := json.Unmarshal(data, &articles); err != nil {
log.Fatalf("parse: %v", err)
}
if err := repository.InsertArticles(db, articles); err != nil {
log.Fatalf("insert: %v", err)
}
var count int
db.QueryRow("SELECT COUNT(*) FROM articles").Scan(&count)
fmt.Printf("Done! %d articles imported\n", count)
}