summaryrefslogtreecommitdiff
path: root/spec/support/helpers/database_helpers.rb
blob: e9f0a74a8d1060f4b253c69691d6c17ec196c071 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
# frozen_string_literal: true

module DatabaseHelpers
  # In order to directly work with views using factories,
  # we can swapout the view for a table of identical structure.
  def swapout_view_for_table(view)
    ActiveRecord::Base.connection.execute(<<~SQL)
      CREATE TABLE #{view}_copy (LIKE #{view});
      DROP VIEW #{view};
      ALTER TABLE #{view}_copy RENAME TO #{view};
    SQL
  end
end