diff --git a/internal/db/connect.go b/internal/db/connect.go index 267893da007a0cf97d03a74c7baaa759253b7364..ef95391aacb9fb57b7c06e3c684eb395262d85a1 100644 --- a/internal/db/connect.go +++ b/internal/db/connect.go @@ -3,6 +3,7 @@ package db import ( "context" "database/sql" + "embed" "fmt" "log/slog" "path/filepath" @@ -21,6 +22,18 @@ var pragmas = map[string]string{ "busy_timeout": "30000", } +//go:embed migrations/*.sql +var FS embed.FS + +func init() { + goose.SetBaseFS(FS) + + if testing.Testing() { + goose.SetLogger(goose.NopLogger()) + } + +} + // Connect opens a SQLite database connection and runs migrations. func Connect(ctx context.Context, dataDir string) (*sql.DB, error) { if dataDir == "" { @@ -38,12 +51,6 @@ func Connect(ctx context.Context, dataDir string) (*sql.DB, error) { return nil, fmt.Errorf("failed to connect to database: %w", err) } - goose.SetBaseFS(FS) - - if testing.Testing() { - goose.SetLogger(goose.NopLogger()) - } - if err := goose.SetDialect("sqlite3"); err != nil { slog.Error("Failed to set dialect", "error", err) return nil, fmt.Errorf("failed to set dialect: %w", err) diff --git a/internal/db/embed.go b/internal/db/embed.go deleted file mode 100644 index 4afa6eafb5f9ff7ff1d8334f30a6989fd073e632..0000000000000000000000000000000000000000 --- a/internal/db/embed.go +++ /dev/null @@ -1,6 +0,0 @@ -package db - -import "embed" - -//go:embed migrations/*.sql -var FS embed.FS