Syncronize our SQLAlchemy type hints with db schema #2197
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.
Description
Make sure what what is defined in our SQLAlchemy schema is accuratly reflected in the type hints:
relationship
is not a collection, and its foreign key column is nullable make sure the annotation is Optionalnullable=False
to the foreign key column.nullable=False
primary_key=True
nullable=False
and appropriately set annotation for columns that havedefault
setMotivation and Context
Our sqlalchemy type hints have been added over time, and some of them did not accurately reflect what was in the DB schema. I noticed this while working on #2194.
These changes meant that I had to add some guard code for errors that mypy rightly flagged. It also meant that I could remove some guard code that was no longer necessary.
How Has This Been Tested?
Checklist