Enforce not-null constraint on settings_context_hash field for extensions setting type records

MR:

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_hash field.
  • 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_hash is null after settings_context_hash is 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