migrate crate-details, match_version, db:: and test-fakes to sqlx #2325
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.
Finding a working smaller piece to migrate became harder and harder, this is bigger than I hoped, but works.
This migrates some major parts to sqlx & async, also including parts used in our main
web::rustdoc
endpoints.Namely:
CrateDetails
andmatch_version
, and the remaining release-details / list endpointsdb::add_package
methods,db::file
test::fakes
is async internally with sync wrapper methods for old testsFor things I didn't want to migrate (yet) I had to sprinkle plenty of
runtime.block_on
around to make it work.I think there is a nicer way to design the whole
TestEnvironment
/FakeRelease
story, perhaps with having async versions of both classes, similar toAsyncStorage
/Storage
. I would leave fixingAlso includes the changes from #2324