@@ -3,6 +3,7 @@ package db
5 "database/sql"
5 "database/sql"
8 "path/filepath"
9 "path/filepath"
@@ -21,6 +22,18 @@ var pragmas = map[string]string{
21 "busy_timeout": "30000",
22 "busy_timeout": "30000",
25+//go:embed migrations/*.sql
31+ if testing.Testing() {
32+ goose.SetLogger(goose.NopLogger())
24// Connect opens a SQLite database connection and runs migrations.
37// Connect opens a SQLite database connection and runs migrations.
25func Connect(ctx context.Context, dataDir string) (*sql.DB, error) {
38func Connect(ctx context.Context, dataDir string) (*sql.DB, error) {
26 if dataDir == "" {
39 if dataDir == "" {
@@ -38,12 +51,6 @@ func Connect(ctx context.Context, dataDir string) (*sql.DB, error) {
38 return nil, fmt.Errorf("failed to connect to database: %w", err)
51 return nil, fmt.Errorf("failed to connect to database: %w", err)
43− if testing.Testing() {
44− goose.SetLogger(goose.NopLogger())
47 if err := goose.SetDialect("sqlite3"); err != nil {
54 if err := goose.SetDialect("sqlite3"); err != nil {
48 slog.Error("Failed to set dialect", "error", err)
55 slog.Error("Failed to set dialect", "error", err)
49 return nil, fmt.Errorf("failed to set dialect: %w", err)
56 return nil, fmt.Errorf("failed to set dialect: %w", err)