debian-mirror-gitlab/lib/gitlab/database/rename_table_helpers.rb
2021-11-11 11:23:49 +05:30

33 lines
956 B
Ruby

# frozen_string_literal: true
module Gitlab
module Database
module RenameTableHelpers
def rename_table_safely(old_table_name, new_table_name)
transaction do
rename_table(old_table_name, new_table_name)
execute("CREATE VIEW #{old_table_name} AS SELECT * FROM #{new_table_name}")
end
end
def undo_rename_table_safely(old_table_name, new_table_name)
transaction do
execute("DROP VIEW IF EXISTS #{old_table_name}")
rename_table(new_table_name, old_table_name)
end
end
def finalize_table_rename(old_table_name, new_table_name)
transaction do
execute("DROP VIEW IF EXISTS #{old_table_name}")
end
end
def undo_finalize_table_rename(old_table_name, new_table_name)
transaction do
execute("CREATE VIEW #{old_table_name} AS SELECT * FROM #{new_table_name}")
end
end
end
end
end