summaryrefslogtreecommitdiff
path: root/db/migrate/20210825104656_create_analytics_cycle_analytics_merge_request_stage_events.rb
blob: 2e89dfeacbf256616a868ae34e0053177931eb6e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# frozen_string_literal: true

class CreateAnalyticsCycleAnalyticsMergeRequestStageEvents < ActiveRecord::Migration[6.1]
  include Gitlab::Database::PartitioningMigrationHelpers::TableManagementHelpers
  include Gitlab::Database::MigrationHelpers

  def up
    execute <<~SQL
    CREATE TABLE analytics_cycle_analytics_merge_request_stage_events (
      stage_event_hash_id bigint NOT NULL,
      merge_request_id bigint NOT NULL,
      group_id bigint NOT NULL,
      project_id bigint NOT NULL,
      milestone_id bigint,
      author_id bigint,
      start_event_timestamp timestamp with time zone NOT NULL,
      end_event_timestamp timestamp with time zone,
      PRIMARY KEY (stage_event_hash_id, merge_request_id)
    ) PARTITION BY HASH (stage_event_hash_id)
    SQL

    create_hash_partitions :analytics_cycle_analytics_merge_request_stage_events, 32
  end

  def down
    drop_table :analytics_cycle_analytics_merge_request_stage_events
  end
end