From 60a9bec9d815b4a83881a51cd087f99c85bf64da Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Micha=C5=82=20Zaj=C4=85c?= <mzajac@gitlab.com>
Date: Thu, 30 Nov 2023 15:30:11 +0100
Subject: [PATCH] Schedule asynchronous index creation to support finding_id
 backfill

Changelog: added
---
 ...upporting_index_for_finding_id_backfill.rb | 25 +++++++++++++++++++
 db/schema_migrations/20231130142218           |  1 +
 2 files changed, 26 insertions(+)
 create mode 100644 db/post_migrate/20231130142218_async_create_supporting_index_for_finding_id_backfill.rb
 create mode 100644 db/schema_migrations/20231130142218

diff --git a/db/post_migrate/20231130142218_async_create_supporting_index_for_finding_id_backfill.rb b/db/post_migrate/20231130142218_async_create_supporting_index_for_finding_id_backfill.rb
new file mode 100644
index 000000000000..95cad1d4e940
--- /dev/null
+++ b/db/post_migrate/20231130142218_async_create_supporting_index_for_finding_id_backfill.rb
@@ -0,0 +1,25 @@
+# frozen_string_literal: true
+
+class AsyncCreateSupportingIndexForFindingIdBackfill < Gitlab::Database::Migration[2.2]
+  milestone '16.7'
+
+  INDEX_NAME = "tmp_index_vulnerabilities_on_id_finding_id_empty"
+
+  # TODO: Index to be created synchronously in https://gitlab.com/gitlab-org/gitlab/-/issues/433253
+  def up
+    prepare_async_index(
+      :vulnerabilities,
+      :id,
+      where: "finding_id IS NULL",
+      name: INDEX_NAME
+    )
+  end
+
+  def down
+    unprepare_async_index(
+      :vulnerabilities,
+      :id,
+      name: INDEX_NAME
+    )
+  end
+end
diff --git a/db/schema_migrations/20231130142218 b/db/schema_migrations/20231130142218
new file mode 100644
index 000000000000..589bbbc0130f
--- /dev/null
+++ b/db/schema_migrations/20231130142218
@@ -0,0 +1 @@
+2269867e97f1194f376979f964912f386aa5248966601a46e27ebb1b72d9e96a
\ No newline at end of file
-- 
GitLab