migrate.go
550 bytes
1package db
2
3import (
4 "github.com/golang-migrate/migrate/v4"
5 _ "github.com/golang-migrate/migrate/v4/database/postgres"
6 "github.com/golang-migrate/migrate/v4/source/iofs"
7
8 "github.com/TheEdgeOfRage/ytrssil-api/migrations"
9)
10
11func RunMigrations(databaseURL string) error {
12 source, err := iofs.New(migrations.FS, ".")
13 if err != nil {
14 return err
15 }
16
17 m, err := migrate.NewWithSourceInstance("iofs", source, databaseURL)
18 if err != nil {
19 return err
20 }
21
22 if err := m.Up(); err != nil && err != migrate.ErrNoChange {
23 return err
24 }
25 return nil
26}