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

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

  INDEX_NAME = 'idx_packages_on_project_id_name_id_version_when_installable_npm'
  PACKAGE_TYPE_NPM = 2

  def up
    add_concurrent_index(
      :packages_packages,
      [:project_id, :name, :id, :version],
      name: INDEX_NAME,
      where: "package_type = #{PACKAGE_TYPE_NPM} AND status IN (0, 1)"
    )
  end

  def down
    remove_concurrent_index_by_name(:packages_packages, INDEX_NAME)
  end
end