summaryrefslogtreecommitdiff
path: root/db/post_migrate/20221220075936_add_query_index_for_ci_pipeline_schedules.rb
diff options
context:
space:
mode:
Diffstat (limited to 'db/post_migrate/20221220075936_add_query_index_for_ci_pipeline_schedules.rb')
-rw-r--r--db/post_migrate/20221220075936_add_query_index_for_ci_pipeline_schedules.rb18
1 files changed, 18 insertions, 0 deletions
diff --git a/db/post_migrate/20221220075936_add_query_index_for_ci_pipeline_schedules.rb b/db/post_migrate/20221220075936_add_query_index_for_ci_pipeline_schedules.rb
new file mode 100644
index 00000000000..4fc64f66a83
--- /dev/null
+++ b/db/post_migrate/20221220075936_add_query_index_for_ci_pipeline_schedules.rb
@@ -0,0 +1,18 @@
+# frozen_string_literal: true
+
+class AddQueryIndexForCiPipelineSchedules < Gitlab::Database::Migration[2.1]
+ TABLE_NAME = :ci_pipeline_schedules
+ INDEX_NAME = :index_ci_pipeline_schedules_on_id_and_next_run_at_and_active
+ COLUMNS = %i[id next_run_at].freeze
+ INDEX_CONDITION = 'active = TRUE'
+
+ disable_ddl_transaction!
+
+ def up
+ add_concurrent_index(TABLE_NAME, COLUMNS, name: INDEX_NAME, where: INDEX_CONDITION)
+ end
+
+ def down
+ remove_concurrent_index(TABLE_NAME, COLUMNS, name: INDEX_NAME)
+ end
+end