Add spec to ensure sharding key is not nullable
What does this MR do and why?
As part of our Organization Isolation work we are ensuring that all tables have a valid "sharding key". This key will ultimately be used to efficiently identify which organization a row belongs to.
In !136682 (merged) we added a spec to ensure that all newly created tables have a sharding key. Now we want to validate that these sharding keys are also not nullable.
Our spec needs to handle the following ways that we ensure columns are not nullable:
- Column is not nullable in the schema like
namespace_id NOT NULL
- Column is validated using a check constraint like
CONSTRAINT check_77fea3f0e7 CHECK ((namespace_id IS NOT NULL))
This also adds a few more sharding keys to tables that are using a check
constraint rather than a NOT NULL
column. This is to illustrate that
the spec does indeed handle both cases.
Screenshots or screen recordings
Screenshots are required for UI changes, and strongly recommended for all other merge requests.
Before | After |
---|---|
How to set up and validate locally
Numbered steps to set up and validate the change are strongly suggested.
MR acceptance checklist
This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.
-
I have evaluated the MR acceptance checklist for this MR.