link-go/migrate.go
2021-03-13 01:43:08 +06:00

29 lines
529 B
Go

package link
import (
"context"
"github.com/jackc/pgx/v4/pgxpool"
"github.com/jackc/tern/migrate"
)
func Migrate(pool *pgxpool.Pool) error {
conn, err := pool.Acquire(context.Background())
if err != nil {
return err
}
migrator, err := migrate.NewMigrator(context.Background(), conn.Conn(), "schema_version")
if err != nil {
return err
}
if err = migrator.LoadMigrations("./migrations"); err != nil {
return err
}
if err = migrator.Migrate(context.Background()); err != nil {
return err
}
return nil
}