Add description, homepage, documentation and repository fields for versions #9998
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.
We currently save these fields only per crate, not per version. This means that for crates publishing bug fixes to older major versions, these fields might get overwritten with outdated metadata.
The solution to this is to read these per crate metadata fields from the "default version" of a crate instead.
This PR introduces four more metadata columns to the
versions
table (description
,homepage
,documentation
andrepository
) and exposes their values on the API. The rest of the code is not using these values yet since they will need to be backfilled from the stored crate files first. Once that has happened we could remove the fields from thecrates
table and use the content from the default version of a crate instead.Potential downsides of this:
crates
table, or if we stop updating them, this will essentially be a breaking change to the database dump schema. while we should not see this as a hard blocker, we should be careful to not introduce breaking changes too often.Related: