feat: add multi-source breed encyclopedia and two-hour refresh sessions
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
// seedbreeds imports the embedded CKU breed catalog without overwriting administrator edits.
|
||||
package main
|
||||
|
||||
import (
|
||||
"github.com/sundynix/pets-be/internal/breeds"
|
||||
"github.com/sundynix/pets-be/internal/config"
|
||||
"github.com/sundynix/pets-be/internal/database"
|
||||
"github.com/sundynix/pets-be/internal/model"
|
||||
"log"
|
||||
)
|
||||
|
||||
func main() {
|
||||
cfg, err := config.Load()
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
db, err := database.Open(cfg.Postgres, true)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
// Only the schema needed by these features, leaving unrelated application records intact.
|
||||
if err := db.AutoMigrate(&model.Breed{}, &model.BreedReference{}, &model.Pet{}, &model.RefreshSession{}); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
added, err := breeds.Seed(db)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
var total int64
|
||||
if err := db.Model(&model.Breed{}).Count(&total).Error; err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
var sources int64
|
||||
db.Model(&model.BreedReference{}).Count(&sources)
|
||||
log.Printf("breed catalog imported: added=%d total=%d references=%d", added, total, sources)
|
||||
}
|
||||
Reference in New Issue
Block a user