Add --url flag (#150)

This commit is contained in:
Adrian Macneil 2020-08-08 11:19:33 -07:00 committed by GitHub
parent d1b3334ff7
commit a9aaaad1fb
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 41 additions and 19 deletions

16
main.go
View file

@ -34,6 +34,11 @@ func NewApp() *cli.App {
app.Version = dbmate.Version
app.Flags = []cli.Flag{
&cli.StringFlag{
Name: "url",
Aliases: []string{"u"},
Usage: "specify the database URL",
},
&cli.StringFlag{
Name: "env",
Aliases: []string{"e"},
@ -220,10 +225,15 @@ func action(f func(*dbmate.DB, *cli.Context) error) cli.ActionFunc {
}
}
// getDatabaseURL returns the current environment database url
// getDatabaseURL returns the current database url from cli flag or environment variable
func getDatabaseURL(c *cli.Context) (u *url.URL, err error) {
env := c.String("env")
value := os.Getenv(env)
// check --url flag first
value := c.String("url")
if value == "" {
// if empty, default to --env or DATABASE_URL
env := c.String("env")
value = os.Getenv(env)
}
return url.Parse(value)
}