Ensure that the application can start with a new database

This commit changes the NewDB function to run migrations before preparing
SQL statements.
debian
Jan Dittberner 5 years ago
parent 56741a1089
commit 41a8261552

@ -262,6 +262,11 @@ var db *dbHandler
func NewDB(database *sql.DB) *dbHandler { func NewDB(database *sql.DB) *dbHandler {
handler := &dbHandler{db: sqlx.NewDb(database, "sqlite3")} 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) failedStatements := make([]string, 0)
for _, sqlStatement := range sqlStatements { for _, sqlStatement := range sqlStatements {
var stmt *sqlx.Stmt var stmt *sqlx.Stmt
@ -276,10 +281,6 @@ func NewDB(database *sql.DB) *dbHandler {
log.Panicf("%d statements failed to prepare", len(failedStatements)) 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 return handler
} }

Loading…
Cancel
Save