summaryrefslogtreecommitdiff
path: root/db/migrate/20230131125844_add_project_id_name_id_version_index_to_installable_npm_packages.rb
diff options
context:
space:
mode:
Diffstat (limited to 'db/migrate/20230131125844_add_project_id_name_id_version_index_to_installable_npm_packages.rb')
-rw-r--r--db/migrate/20230131125844_add_project_id_name_id_version_index_to_installable_npm_packages.rb21
1 files changed, 21 insertions, 0 deletions
diff --git a/db/migrate/20230131125844_add_project_id_name_id_version_index_to_installable_npm_packages.rb b/db/migrate/20230131125844_add_project_id_name_id_version_index_to_installable_npm_packages.rb
new file mode 100644
index 00000000000..88ff29769b1
--- /dev/null
+++ b/db/migrate/20230131125844_add_project_id_name_id_version_index_to_installable_npm_packages.rb
@@ -0,0 +1,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