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

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

  COMPOSITE_UNIQUE_INDEX = :i_pm_package_version_licenses_join_ids

  def up
    drop_constraint(:pm_package_version_licenses, :pm_package_version_licenses_pkey, cascade: true)
    add_column(:pm_package_version_licenses, :id, :primary_key)
    add_concurrent_index(:pm_package_version_licenses, [:pm_package_version_id, :pm_license_id], unique: true,
      name: COMPOSITE_UNIQUE_INDEX)
  end

  def down
    remove_column(:pm_package_version_licenses, :id)
    add_primary_key_using_index(:pm_package_version_licenses, :pm_package_version_licenses_pkey, COMPOSITE_UNIQUE_INDEX)
    remove_concurrent_index_by_name(:pm_package_version_licenses, COMPOSITE_UNIQUE_INDEX)
  end
end