summaryrefslogtreecommitdiff
path: root/db/migrate/20201208081429_update_internal_ids_last_value_for_epics_renamed.rb
blob: fadc365d53c651205054137210ff21bb4ddfb2b6 (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
# frozen_string_literal: true

class UpdateInternalIdsLastValueForEpicsRenamed < ActiveRecord::Migration[6.0]
  DOWNTIME = false

  def up
    ApplicationRecord.connection.execute(<<-SQL.squish)
      UPDATE internal_ids
      SET last_value = epics_max_iids.maximum_iid
      FROM
        (
          SELECT
            MAX(epics.iid) AS maximum_iid,
            epics.group_id AS epics_group_id
          FROM epics
          GROUP BY epics.group_id
        ) epics_max_iids
      WHERE internal_ids.last_value < epics_max_iids.maximum_iid
        AND namespace_id = epics_max_iids.epics_group_id
        AND internal_ids.usage = 4
    SQL
  end

  def down
    # no-op
  end
end