inou/cmd/populate-search-key/main.go

40 lines
914 B
Go

package main
import (
"fmt"
"log"
"inou/lib"
)
func main() {
if err := lib.Init(); err != nil {
log.Fatal("lib.Init failed:", err)
}
lib.ConfigInit()
// Get all dossiers with lab entries
type dossierRow struct {
DossierID string `db:"dossier_id"`
Count int `db:"count"`
}
var dossiers []dossierRow
if err := lib.Query("SELECT dossier_id, COUNT(*) as count FROM entries WHERE category = 3 GROUP BY dossier_id",
[]any{}, &dossiers); err != nil {
log.Fatal("Query dossiers:", err)
}
fmt.Printf("Found %d dossiers with lab data\n", len(dossiers))
for i, d := range dossiers {
fmt.Printf("[%d/%d] Normalizing labs for dossier %s (%d entries)...\n",
i+1, len(dossiers), d.DossierID, d.Count)
if err := lib.Normalize(d.DossierID, lib.CategoryLab); err != nil {
log.Printf("Warning: normalize failed for %s: %v", d.DossierID, err)
continue
}
}
fmt.Println("Done!")
}