55 lines
1.4 KiB
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!")
|
|
}
|