Enforce not-null constraint on settings_context_hash field for extensions setting type records
MR:
- Backfill MR: Ensure no null settings context hash for extens... (!178090 - merged)
- Finalize backfill + add DB level constraint: Finalize settings context hash backfill (!184414 - merged)
Description
In Update vs_code_settings table schema (!171582 - merged), not-null constraint validation on the settings_context_hash field at the application level was not added. This is because extensions setting type records with a null settings_context_hash value exists until we pass the settings_context_hash in the Web IDE (see issue: Pass extensions marketplace settings hash to We... (#501286 - closed)).
This issue aims to make all extensions setting type consistent in that they will have a not-null settings_context_hash.
Acceptance Criteria
-
No existing extensions setting type records with settings_context_hash = null. -
A not-null constraint validation is added to the settings_context_hashfield. -
Finalize the backfill -
Add not-null constraint at database level
Technical Requirements
- We will need to run a backfill on existing extensions setting type records where the
settings_context_hashisnullaftersettings_context_hashis passed in the Web IDE.- To confirm: assume that these records have equivalent extensions marketplace setting as marketplace enabled with OpenVSX as the marketplace.
- If a record with the hash already exists, we can remove the older record.
- After backfill is completed, add a not-null constraint validation at the application level.
Edited by Cindy Halim