Improve error message when database URL is missing (#202)

This commit is contained in:
Jae Bentvelzen 2021-03-09 18:44:30 +11:00 committed by GitHub
parent 53c9c19e82
commit ece2c3c122
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 3 additions and 3 deletions

View file

@ -72,7 +72,7 @@ func New(databaseURL *url.URL) *DB {
// GetDriver initializes the appropriate database driver
func (db *DB) GetDriver() (Driver, error) {
if db.DatabaseURL == nil || db.DatabaseURL.Scheme == "" {
return nil, errors.New("invalid url")
return nil, errors.New("invalid url, have you set your --url flag or DATABASE_URL environment variable?")
}
driverFunc := drivers[db.DatabaseURL.Scheme]

View file

@ -55,14 +55,14 @@ func TestGetDriver(t *testing.T) {
db := dbmate.New(nil)
drv, err := db.GetDriver()
require.Nil(t, drv)
require.EqualError(t, err, "invalid url")
require.EqualError(t, err, "invalid url, have you set your --url flag or DATABASE_URL environment variable?")
})
t.Run("missing schema", func(t *testing.T) {
db := dbmate.New(dbutil.MustParseURL("//hi"))
drv, err := db.GetDriver()
require.Nil(t, drv)
require.EqualError(t, err, "invalid url")
require.EqualError(t, err, "invalid url, have you set your --url flag or DATABASE_URL environment variable?")
})
t.Run("invalid driver", func(t *testing.T) {