summaryrefslogtreecommitdiff
path: root/db/migrate/20230426102200_fix_import_sources_on_application_settings_after_phabricator_removal.rb
blob: e2061138fc4e83cd586643a04b9c74d4d6129615 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# frozen_string_literal: true

# See https://docs.gitlab.com/ee/development/migration_style_guide.html
# for more information on how to write migrations for GitLab.

class FixImportSourcesOnApplicationSettingsAfterPhabricatorRemoval < Gitlab::Database::Migration[2.1]
  disable_ddl_transaction!

  restrict_gitlab_migration gitlab_schema: :gitlab_main

  class ApplicationSetting < MigrationRecord
  end

  def up
    sources = ApplicationSetting.last&.import_sources

    return unless sources.is_a?(String)
    return if sources.start_with?('---')

    sources = YAML.safe_load(sources)

    ApplicationSetting.update_all(import_sources: sources.to_yaml)
  end

  def down; end
end