From ceee1db8b9ecf1035ffd876ab2677528e9b108d9 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Mon, 15 Jan 2018 22:38:50 -0700 Subject: [PATCH] Add a command line flag for using an alternative migrations directory Adds a feature described in #43 --- .../turt2live/matrix-media-repo/cmd/media_repo/main.go | 2 ++ src/github.com/turt2live/matrix-media-repo/config/config.go | 5 +++++ .../turt2live/matrix-media-repo/storage/storage.go | 2 +- 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/github.com/turt2live/matrix-media-repo/cmd/media_repo/main.go b/src/github.com/turt2live/matrix-media-repo/cmd/media_repo/main.go index bd55508b..a4f8f568 100644 --- a/src/github.com/turt2live/matrix-media-repo/cmd/media_repo/main.go +++ b/src/github.com/turt2live/matrix-media-repo/cmd/media_repo/main.go @@ -45,9 +45,11 @@ type EmptyResponse struct{} func main() { configPath := flag.String("config", "media-repo.yaml", "The path to the configuration") + migrationsPath := flag.String("migrations", "./migrations", "The absolute path the migrations folder") flag.Parse() config.Path = *configPath + config.Runtime.MigrationsPath = *migrationsPath rtr := mux.NewRouter() diff --git a/src/github.com/turt2live/matrix-media-repo/config/config.go b/src/github.com/turt2live/matrix-media-repo/config/config.go index 58c5e2cd..ce2bc541 100644 --- a/src/github.com/turt2live/matrix-media-repo/config/config.go +++ b/src/github.com/turt2live/matrix-media-repo/config/config.go @@ -14,6 +14,11 @@ type HomeserverConfig struct { ClientServerApi string `yaml:"csApi"` } +type runtimeConfig struct { + MigrationsPath string +} +var Runtime = &runtimeConfig{} + type MediaRepoConfig struct { General struct { BindAddress string `yaml:"bindAddress"` diff --git a/src/github.com/turt2live/matrix-media-repo/storage/storage.go b/src/github.com/turt2live/matrix-media-repo/storage/storage.go index 0973752b..99f36621 100644 --- a/src/github.com/turt2live/matrix-media-repo/storage/storage.go +++ b/src/github.com/turt2live/matrix-media-repo/storage/storage.go @@ -58,7 +58,7 @@ func OpenDatabase(connectionString string) (error) { } // Make sure the database is how we want it - migrator, err := gomigrate.NewMigratorWithLogger(d.db, gomigrate.Postgres{}, "./migrations", logrus.StandardLogger()) + migrator, err := gomigrate.NewMigratorWithLogger(d.db, gomigrate.Postgres{}, config.Runtime.MigrationsPath, logrus.StandardLogger()) if err != nil { return err } -- GitLab