Class: AddRoleToDuctworkProcesses

Inherits:
Ductwork::Migration show all
Defined in:
lib/generators/ductwork/update/templates/db/add_role_to_ductwork_processes.rb

Constant Summary

Constants included from Ductwork::MigrationHelper

Ductwork::MigrationHelper::AVAILABILITY_CLAIM_INDEX_NAME, Ductwork::MigrationHelper::AVAILABILITY_CLAIM_INDEX_NAMES, Ductwork::MigrationHelper::AVAILABILITY_CLAIM_INDEX_NAME_V2

Instance Method Summary collapse

Methods included from Ductwork::MigrationHelper

#add_availability_claim_index, #add_index_online, #belongs_to, #create_ductwork_table, #drop_invalid_index, #ensure_ddl_transaction_disabled!, #mysql?, #postgresql?, #remove_availability_claim_index, #remove_index_online, #swap_availability_claim_index, #uuid_column_type

Instance Method Details

#downObject



17
18
19
# File 'lib/generators/ductwork/update/templates/db/add_role_to_ductwork_processes.rb', line 17

def down
  remove_column :ductwork_processes, :role, :string
end

#upObject



4
5
6
7
8
9
10
11
12
13
14
15
# File 'lib/generators/ductwork/update/templates/db/add_role_to_ductwork_processes.rb', line 4

def up
  add_column :ductwork_processes, :role, :string

  # NOTE: ideally there are no process records that exist because the
  # ductwork process should not be running. either way, we explicitly
  # don't set it to supervisor so it won't report in the health checks
  Ductwork::Process
    .where(role: nil)
    .update_all(role: "pipeline_advancer")

  change_column_null :ductwork_executions, :crash_count, false
end