Pass the DATABASE_URL
to command spawned for sqlx-macros
#1735
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Currently
cargo sqlx prepare
doesn't pass the database url value to the child command spawned forsqlx-macros
.$ DATABASE_URL="..." cargo sqlx prepare
works as expected because
sqlx-macros
will read the value from the env var which is inherited, but$ cargo sqlx prepare --database-url "..."
will fail in some way (An existing
sqlx-data.json
makes it not fail, but causes it to find no queries. No existingsqlx-data.json
will lead to aerror: failed to find data for query
) because the database url isn't being passed to the child process.It's also worth noting that these changes appear to obey precedence correctly too where
will lead to
"B"
being used which should be right. I wasn't certain that the old env var would be overridden until I tested it, but it follows what I would have assumed.