From 41a8261552d9922da3a5759f6d0c1f856c95c2ce Mon Sep 17 00:00:00 2001 From: Jan Dittberner Date: Wed, 31 Jul 2019 17:42:12 +0200 Subject: [PATCH] Ensure that the application can start with a new database This commit changes the NewDB function to run migrations before preparing SQL statements. --- models.go | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/models.go b/models.go index 57515a7..19d701c 100644 --- a/models.go +++ b/models.go @@ -262,6 +262,11 @@ var db *dbHandler func NewDB(database *sql.DB) *dbHandler { handler := &dbHandler{db: sqlx.NewDb(database, "sqlite3")} + _, err := migrate.Exec(database, "sqlite3", migrations.Migrations(), migrate.Up) + if err != nil { + log.Panicf("running database migration failed: %v", err) + } + failedStatements := make([]string, 0) for _, sqlStatement := range sqlStatements { var stmt *sqlx.Stmt @@ -276,10 +281,6 @@ func NewDB(database *sql.DB) *dbHandler { log.Panicf("%d statements failed to prepare", len(failedStatements)) } - _, err := migrate.Exec(database, "sqlite3", migrations.Migrations(), migrate.Up) - if err != nil { - log.Panicf("running database migration failed: %v", err) - } return handler }