summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--internal/database/sql/main.go15
1 files changed, 15 insertions, 0 deletions
diff --git a/internal/database/sql/main.go b/internal/database/sql/main.go
index 5a523f6..d149e35 100644
--- a/internal/database/sql/main.go
+++ b/internal/database/sql/main.go
@@ -9,6 +9,7 @@ import (
"github.com/jmoiron/sqlx"
_ "github.com/mattn/go-sqlite3"
"github.com/pkg/errors"
+ "github.com/rubenv/sql-migrate"
)
var (
@@ -45,6 +46,20 @@ func Init(DBURI string) (*DB, error) {
if err := testConnection(result.Conn); err != nil {
return nil, err
}
+
+ // Run migrations
+ migrations := &migrate.AssetMigrationSource{
+ Asset: migrations.Asset,
+ AssetDir: migrations.AssetDir,
+ Dir: "migrations",
+ }
+
+ n, err := migrate.Exec(result.Conn.DB, dbDriver, migrations, migrate.Up)
+ if err != nil {
+ return nil, errors.Wrap(err, "failed to run migrations")
+ }
+ log.Info("applied database migrations", "count", n)
+
return &result, nil
}