Pārlūkot izejas kodu

fix: consistent migration directory in tests vs migrate tool

Fela Maslen 5 gadi atpakaļ
vecāks
revīzija
5a20c3effa

+ 10 - 2
music-player/cmd/migrate/main.go

@@ -1,9 +1,17 @@
 package main
 
 import (
-  "github.com/felamaslen/go-music-player/pkg/db"
+	"log"
+	"os"
+
+	"github.com/felamaslen/go-music-player/pkg/db"
 )
 
 func main() {
-  db.MigrateDatabase()
+  cwd, err := os.Getwd()
+  if err != nil {
+    log.Fatal("Error getting directory:", err)
+    return
+  }
+  db.MigrateDatabase(cwd)
 }

+ 2 - 6
music-player/pkg/db/main.go

@@ -38,13 +38,9 @@ func GetConnection() *pgxpool.Conn {
   return conn
 }
 
-func MigrateDatabase() {
+func MigrateDatabase(migrationDirectory string) {
   databaseUrl := fmt.Sprintf("%s?sslmode=disable", config.Config.DatabaseUrl)
-  cwd, err := os.Getwd()
-  if err != nil {
-    log.Fatal("Error getting working dir: ", err)
-  }
-  directoryUrl := fmt.Sprintf("file://%s", filepath.Join(cwd, "migrations"))
+  directoryUrl := fmt.Sprintf("file://%s", filepath.Join(migrationDirectory, "migrations"))
 
   m, err := migrate.New(directoryUrl, databaseUrl)
   if err != nil {

+ 9 - 1
music-player/pkg/db/test_utils.go

@@ -3,6 +3,8 @@ package db
 import (
 	"context"
 	"fmt"
+	"log"
+	"os"
 
 	"github.com/jackc/pgx/v4/pgxpool"
 )
@@ -10,7 +12,13 @@ import (
 func PrepareDatabaseForTesting() *pgxpool.Conn {
   fmt.Println("Preparing database for testing")
 
-  MigrateDatabase()
+  cwd, err := os.Getwd()
+  if err != nil {
+    log.Fatal("Error getting working dir: ", err)
+    os.Exit(1)
+  }
+
+  MigrateDatabase(cwd + "/../..")
   conn := GetConnection()
 
   conn.Query(