1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
package migrations
import (
"log/slog"
migrate "github.com/rubenv/sql-migrate"
)
//go:generate go-bindata -o ./migrations.bindata.go -pkg migrations -ignore=\\*.go ./...
func GetMigrationSource() *migrate.AssetMigrationSource {
return &migrate.AssetMigrationSource{
Asset: Asset,
AssetDir: AssetDir,
Dir: ".",
}
}
func RunMigrations(db migrate.Execer, driver string) (int, error) {
source := GetMigrationSource()
n, err := migrate.Exec(db, driver, source, migrate.Up)
if err != nil {
slog.Error("failed to run migrations", "error", err)
return 0, err
}
slog.Info("applied database migrations", "count", n)
return n, nil
}
|