Skip managed settings initialization with pending migrations

What does this MR do and why?

Skip managed settings validation logic when migration is still pending

If we run validations against application_settings table during initialization, we may prevent migrations to run in certain conditions (see: #628124)

References

Fixes #628124

How to set up and validate locally

  1. Create a config/managed_settings.yml
    installation:
      managed_by: "GitLab Helm Chart"
    managed_settings:
      sidekiq_timezone_override: "Europe/Lisbon"
    
  2. Checkout the master branch, run: git checkout master
  3. Rollback a migration that adds a new column to application_settings: rake db:migrate:down:main VERSION=20260818090000
  4. Try to run migrations and see it crashes: rake db:migrate
  5. Switch back to this MR's branch: git checkout brodock/skip-managed-settings-with-pending-migrations-628124
  6. Try running the same migration again: rake db:migrate
  7. Should succeed

MR acceptance checklist

Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.

Edited by Gabriel Mazzetto

Merge request reports

Loading
Loading