From efff6edf0edb7275bafb87b1ad2b3c8076b7bf9b Mon Sep 17 00:00:00 2001 From: Dennis Date: Fri, 31 May 2024 19:55:22 +0200 Subject: [PATCH] Adds dbconfig.yml to run migrations from outside of application --- dbconfig.yml | 5 +++++ internal/database/database.go | 9 +++++---- 2 files changed, 10 insertions(+), 4 deletions(-) create mode 100644 dbconfig.yml diff --git a/dbconfig.yml b/dbconfig.yml new file mode 100644 index 0000000..197215a --- /dev/null +++ b/dbconfig.yml @@ -0,0 +1,5 @@ +local: + dialect: sqlite3 + datasource: freed.db + dir: internal/database/migrations + table: gorp_migrations diff --git a/internal/database/database.go b/internal/database/database.go index b303e30..d4d342d 100644 --- a/internal/database/database.go +++ b/internal/database/database.go @@ -13,7 +13,8 @@ import ( var dbMigrations embed.FS func Connect(filename string) (*sql.DB, error) { - db, err := sql.Open("sqlite3", filename) + dbOptions := "?_fk=on&_journal=WAL&sync=normal" + db, err := sql.Open("sqlite3", filename+dbOptions) if err != nil { return nil, err @@ -24,13 +25,13 @@ func Connect(filename string) (*sql.DB, error) { Root: "migrations", } - n, err := migrate.Exec(db, "sqlite3", migrations, migrate.Up) + _, migrateErr := migrate.Exec(db, "sqlite3", migrations, migrate.Up) - if err != nil { + if migrateErr != nil { return nil, err } - fmt.Printf("Applied migrations - Database is ready!\n", n) + fmt.Println("Applied migrations - Database is ready!") return db, nil }