diff --git a/Gopkg.lock b/Gopkg.lock index adc6f867..aa20c4f7 100644 --- a/Gopkg.lock +++ b/Gopkg.lock @@ -542,7 +542,6 @@ "github.com/ethereum/go-ethereum/ethdb", "github.com/ethereum/go-ethereum/p2p", "github.com/ethereum/go-ethereum/p2p/discv5", - "github.com/ethereum/go-ethereum/params", "github.com/ethereum/go-ethereum/rlp", "github.com/ethereum/go-ethereum/rpc", "github.com/hashicorp/golang-lru", diff --git a/Makefile b/Makefile index f8658e97..806febaf 100644 --- a/Makefile +++ b/Makefile @@ -70,7 +70,8 @@ build: dep HOST_NAME = localhost PORT = 5432 NAME = -CONNECT_STRING=postgresql://$(HOST_NAME):$(PORT)/$(NAME)?sslmode=disable +USER = postgres +CONNECT_STRING=postgresql://$(USER)@$(HOST_NAME):$(PORT)/$(NAME)?sslmode=disable # Parameter checks ## Check that DB variables are provided @@ -79,6 +80,7 @@ checkdbvars: test -n "$(HOST_NAME)" # $$HOST_NAME test -n "$(PORT)" # $$PORT test -n "$(NAME)" # $$NAME + test -n "$(USER)" # $$USER @echo $(CONNECT_STRING) ## Check that the migration variable (id/timestamp) is provided diff --git a/README.md b/README.md index edac1df3..bbbd626c 100644 --- a/README.md +++ b/README.md @@ -61,6 +61,7 @@ It can be additionally helpful to add `$GOPATH/bin` to your shell's `$PATH`. 1. `createdb vulcanize_public` 1. `cd $GOPATH/src/github.com/vulcanize/vulcanizedb` 1. Run the migrations: `make migrate HOST_NAME=localhost NAME=vulcanize_public PORT=5432` + - There is an optional var `USER=username` if the database user is not the default user `postgres` - To rollback a single step: `make rollback NAME=vulcanize_public` - To rollback to a certain migration: `make rollback_to MIGRATION=n NAME=vulcanize_public` - To see status of migrations: `make migration_status NAME=vulcanize_public` diff --git a/pkg/plugin/manager/manager.go b/pkg/plugin/manager/manager.go index e19fbd0b..74e9c182 100644 --- a/pkg/plugin/manager/manager.go +++ b/pkg/plugin/manager/manager.go @@ -128,7 +128,13 @@ func (m *manager) fixAndRun(path string) error { return errors.New(fmt.Sprintf("version fixing for plugin migrations at %s failed: %s", path, err.Error())) } // Run the copied migrations with goose - pgStr := fmt.Sprintf("postgres://%s:%d/%s?sslmode=disable", m.DBConfig.Hostname, m.DBConfig.Port, m.DBConfig.Name) + var pgStr string + if len(m.DBConfig.User) > 0 && len(m.DBConfig.Password) > 0 { + pgStr = fmt.Sprintf("postgresql://%s:%s@%s:%d/%s?sslmode=disable", + m.DBConfig.User, m.DBConfig.Password, m.DBConfig.Hostname, m.DBConfig.Port, m.DBConfig.Name) + } else { + pgStr = fmt.Sprintf("postgres://%s:%d/%s?sslmode=disable", m.DBConfig.Hostname, m.DBConfig.Port, m.DBConfig.Name) + } cmd = exec.Command("goose", "postgres", pgStr, "up") cmd.Dir = m.tmpMigDir err = cmd.Run()