go-guess/backend/cmd/seed/main.go
Daniel Noulet 6969f79015 test: add self-contained integration environment
Separate schema migrations from environment-specific fixtures, run the full API workflow against a disposable PostgreSQL Testcontainer, and provide seeded development and UI test environments.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-09-19 21:11:20 +02:00

33 lines
709 B
Go

package main
import (
"context"
"log/slog"
"os"
"github.com/danyel/go-guess/backend/internal/database"
"github.com/danyel/go-guess/backend/internal/database/seed"
)
func main() {
databaseURL := os.Getenv("DATABASE_URL")
if databaseURL == "" {
slog.Error("DATABASE_URL is required")
os.Exit(1)
}
db, err := database.Open(databaseURL)
if err != nil {
slog.Error("connect database", "error", err)
os.Exit(1)
}
sqlDB, err := db.DB()
if err != nil {
slog.Error("get database connection", "error", err)
os.Exit(1)
}
defer sqlDB.Close()
if err := seed.Apply(context.Background(), sqlDB, os.Getenv("APP_ENV")); err != nil {
slog.Error("seed database", "error", err)
os.Exit(1)
}
}