Skip to content

Commit

Permalink
Merge pull request #793 from prisma/datamodel-parser/fix-prisma-2686
Browse files Browse the repository at this point in the history
  • Loading branch information
mavilein committed Jun 11, 2020
2 parents dc0f43d + 0d31794 commit e52ce7f
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 4 deletions.
2 changes: 1 addition & 1 deletion libs/datamodel/core/src/configuration/source/loader.rs
Expand Up @@ -69,8 +69,8 @@ impl SourceLoader {

let url_args = args.arg("url")?;
let (env_var_for_url, url) = match url_args.as_str_from_env() {
_ if ignore_env_var_errors => (None, format!("{}://", provider)), // glorious hack. ask marcus
Ok((env_var, url)) => (env_var, url.trim().to_owned()),
Err(_) if ignore_env_var_errors => (None, format!("{}://", provider)), // glorious hack. ask marcus
Err(err) => return Err(err),
};

Expand Down
11 changes: 8 additions & 3 deletions libs/datamodel/core/tests/functions/functionals_environment.rs
Expand Up @@ -19,13 +19,18 @@ fn skipping_of_env_vars() {
// must fail without env var
parse_error(dml);

// must not fail with flag
// ...
// must not fail when ignore flag is set
if let Err(err) = datamodel::parse_datamodel_and_ignore_env_errors(dml) {
panic!("Skipping env var errors did not work. Error was {:?}", err)
}

// must not fail with env var set
// must not fail with invalid env var set and ignore flag is set
std::env::set_var("POSTGRES_URL", "mysql://"); // wrong protocol
if let Err(err) = datamodel::parse_datamodel_and_ignore_env_errors(dml) {
panic!("Skipping env var errors did not work. Error was {:?}", err)
}

// must not fail with correct env var set
std::env::set_var("POSTGRES_URL", "postgresql://localhost:5432");
parse(dml);
}
Expand Down

0 comments on commit e52ce7f

Please sign in to comment.