module ActiveRecord::ConnectionAdapters::CockroachDB::ReferentialIntegrity
Public Instance Methods
disable_referential_integrity() { || ... }
click to toggle source
# File lib/active_record/connection_adapters/cockroachdb/referential_integrity.rb, line 14 def disable_referential_integrity foreign_keys = tables.map { |table| foreign_keys(table) }.flatten foreign_keys.each do |foreign_key| remove_foreign_key(foreign_key.from_table, name: foreign_key.options[:name]) end yield foreign_keys.each do |foreign_key| begin add_foreign_key(foreign_key.from_table, foreign_key.to_table, foreign_key.options) rescue ActiveRecord::StatementInvalid => error if error.cause.class == PG::DuplicateObject # This error is safe to ignore because the yielded caller # already re-added the foreign key constraint. else raise error end end end end