Files
go-ohif-proxy/cmd/seed_shortcodes/seed_shortcodes.go

55 lines
1.4 KiB
Go

package main
import (
"flag"
"fmt"
"os"
"time"
"devone.aplikasi.web.id/gitea/mario/go-ohif-proxy/internal/api/repository"
"devone.aplikasi.web.id/gitea/mario/go-ohif-proxy/internal/database"
)
func main() {
/*
* HOW TO USE:
* `go run cmd/seed_shortcodes/seed_shortcodes.go -dsn="user:password@tcp(host_db:port)/nama_db_ohif_proxy"`
*
* Ini akan seeding DB dengan 3333 data (sesuai var count)
*/
// Parse command line flags
count := flag.Int("count", 3333, "Number of shortcodes to generate")
dsn := flag.String("dsn", "", "Database connection string (required)")
flag.Parse()
// Check if DSN is provided
if *dsn == "" {
fmt.Println("Error: Database connection string (DSN) is required")
fmt.Println("Usage: go run seed_shortcodes.go -dsn=user:password@tcp(localhost:3306)/database_name -count=1000")
os.Exit(1)
}
// Initialize database connection
err := database.Initialize(*dsn, 10, 5, 60*time.Minute)
if err != nil {
fmt.Printf("Failed to connect to database: %v\n", err)
os.Exit(1)
}
defer database.Close()
// Create a shortcode repository
shortCodeRepo := repository.NewShortCodeRepository()
// Seed the shortcodes
fmt.Printf("Seeding %d shortcodes...\n", *count)
err = shortCodeRepo.SeedShortCodes(*count)
if err != nil {
fmt.Printf("Error seeding shortcodes: %v\n", err)
os.Exit(1)
}
fmt.Println("Shortcode seeding completed successfully!")
}