From fa6c9cac3305ed6c1a20377cebbfddee9defe03e Mon Sep 17 00:00:00 2001 From: Michael Thomson Date: Fri, 7 Feb 2025 18:29:11 -0500 Subject: [PATCH] use embed for migrations --- internal/migrate/migrate.go | 9 ++++++--- .../migrate/migrations}/1-init_db.sql | 0 2 files changed, 6 insertions(+), 3 deletions(-) rename {migrations => internal/migrate/migrations}/1-init_db.sql (100%) diff --git a/internal/migrate/migrate.go b/internal/migrate/migrate.go index 0b14c7c..7a9d70c 100644 --- a/internal/migrate/migrate.go +++ b/internal/migrate/migrate.go @@ -2,13 +2,16 @@ package migrate import ( "database/sql" + "embed" "fmt" "log" - "os" _ "github.com/mattn/go-sqlite3" ) +//go:embed migrations/*.sql +var migrations embed.FS + type Migration struct { Version int Name string @@ -26,7 +29,7 @@ func Migrate(db *sql.DB) { log.Fatal(err) } - files, err := os.ReadDir("./migrations") + files, err := migrations.ReadDir("migrations") if err != nil { log.Fatal("Failed to read migrations directory") } @@ -38,7 +41,7 @@ func Migrate(db *sql.DB) { err = row.Scan(&migration.Version, &migration.Name) if err == sql.ErrNoRows { fmt.Printf("Running migration: %s\n", file.Name()) - migrationSql, err := os.ReadFile(fmt.Sprintf("./migrations/%s", file.Name())) + migrationSql, err := migrations.ReadFile(fmt.Sprintf("migrations/%s", file.Name())) if err != nil { log.Fatal(err) } diff --git a/migrations/1-init_db.sql b/internal/migrate/migrations/1-init_db.sql similarity index 100% rename from migrations/1-init_db.sql rename to internal/migrate/migrations/1-init_db.sql