summaryrefslogtreecommitdiff
path: root/db/post_migrate/20230427190005_drop_foreign_keys_from_cycle_analytics_unused_tables.rb
blob: a0a6679f1367731b29d5b023c6789e163bd190a9 (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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
# frozen_string_literal: true

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

  def up
    with_lock_retries do
      remove_foreign_key :analytics_cycle_analytics_project_stages, column: :stage_event_hash_id
      remove_foreign_key :analytics_cycle_analytics_project_stages, column: :project_id
      remove_foreign_key :analytics_cycle_analytics_project_stages, column: :start_event_label_id
      remove_foreign_key :analytics_cycle_analytics_project_stages, column: :end_event_label_id
      remove_foreign_key :analytics_cycle_analytics_project_stages, column: :project_value_stream_id

      remove_foreign_key :analytics_cycle_analytics_project_value_streams, column: :project_id
    end
  end

  def down
    add_concurrent_foreign_key(:analytics_cycle_analytics_project_stages,
      :analytics_cycle_analytics_stage_event_hashes,
      name: "fk_c3339bdfc9",
      column: :stage_event_hash_id,
      target_column: :id,
      on_delete: :cascade
    )

    add_concurrent_foreign_key(:analytics_cycle_analytics_project_stages,
      :labels,
      name: "fk_rails_1722574860",
      column: :start_event_label_id,
      target_column: :id,
      on_delete: :cascade
    )

    add_concurrent_foreign_key(:analytics_cycle_analytics_project_stages,
      :projects,
      name: "fk_rails_3829e49b66",
      column: :project_id,
      target_column: :id,
      on_delete: :cascade
    )

    add_concurrent_foreign_key(:analytics_cycle_analytics_project_stages,
      :labels,
      name: "fk_rails_3ec9fd7912",
      column: :end_event_label_id,
      target_column: :id,
      on_delete: :cascade
    )

    add_concurrent_foreign_key(:analytics_cycle_analytics_project_stages,
      :analytics_cycle_analytics_project_value_streams,
      name: "fk_rails_796a7dbc9c",
      column: :project_value_stream_id,
      target_column: :id,
      on_delete: :cascade
    )

    add_concurrent_foreign_key(:analytics_cycle_analytics_project_value_streams,
      :projects,
      name: "fk_rails_669f4ba293",
      column: :project_id,
      target_column: :id,
      on_delete: :cascade
    )
  end
end