summaryrefslogtreecommitdiff
path: root/db/migrate/20230322145403_add_project_id_foreign_key_to_packages_npm_metadata_caches.rb
blob: 7c542279bd049eb8d4cdb0a292b27cfecd1b37a1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# frozen_string_literal: true

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

  SOURCE_TABLE = :packages_npm_metadata_caches
  TARGET_TABLE = :projects
  COLUMN = :project_id

  def up
    add_concurrent_foreign_key SOURCE_TABLE, TARGET_TABLE, column: COLUMN, on_delete: :nullify
  end

  def down
    with_lock_retries do
      remove_foreign_key SOURCE_TABLE, column: COLUMN
    end
  end
end