debian-mirror-gitlab/db/post_migrate/20230302123258_drop_runner_machines_constraint_on_ci_builds_metadata.rb
2023-05-27 22:25:52 +05:30

28 lines
819 B
Ruby

# frozen_string_literal: true
class DropRunnerMachinesConstraintOnCiBuildsMetadata < Gitlab::Database::Migration[2.1]
disable_ddl_transaction!
SOURCE_TABLE_NAME = 'p_ci_builds_metadata'
TARGET_TABLE_NAME = 'ci_runner_machines'
CONSTRAINT_NAME = 'fk_rails_fae01b2700'
def up
with_lock_retries(raise_on_exhaustion: true) do
remove_foreign_key_if_exists(SOURCE_TABLE_NAME, TARGET_TABLE_NAME, name: CONSTRAINT_NAME)
end
end
def down
with_lock_retries(raise_on_exhaustion: true) do
next if check_constraint_exists?(SOURCE_TABLE_NAME, CONSTRAINT_NAME)
execute(<<~SQL)
ALTER TABLE #{SOURCE_TABLE_NAME}
ADD CONSTRAINT #{CONSTRAINT_NAME} FOREIGN KEY (runner_machine_id)
REFERENCES #{TARGET_TABLE_NAME}(id) ON DELETE SET NULL
SQL
end
end
end