Corrective actions to reintroduce 77498

The initial MR has a migration, because of that we'll want to make sure we guard the migration, so we don't try and migrate the same field again.

Required

Optional

  • Create a "dispensable_render" which fails gracefully and logs an error if a non-essential partial fails during render (as suggested: https://gitlab.com/gitlab-org/gitlab/-/issues/353188#note_849876258)
  • Add an ActiveRecord::JsonCache object that focuses on column_names, and possibly uses a SHA as suggested here
  • Add attribute default value for new table columns in Rails model to potentially prevent getting nil value for new column when accessing cached records
  • Check MR checklists to see if it suggests (both self-review and reviewer) to check that all critical new code paths are behind a feature flag
Edited by Eugie Limpin