Skip to content

Commit 0bab80e

Browse files
committed
temp: a bit clearer logs
1 parent 8f8079d commit 0bab80e

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

lib/active_record/connection_adapters/cockroachdb/referential_integrity.rb

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ def check_all_foreign_keys_valid!
3535

3636
def disable_referential_integrity
3737
foreign_keys = all_foreign_keys
38-
dropped_fks = foreign_keys.size
38+
dropped_fks = foreign_keys
3939

4040
statements = foreign_keys.map do |foreign_key|
4141
# We do not use the `#remove_foreign_key` method here because it
@@ -70,18 +70,23 @@ def disable_referential_integrity
7070
# for every key. This method is performance critical for the test suite, hence
7171
# we use the `#all_foreign_keys` method that only make one query to the database.
7272
already_inserted_foreign_keys = all_foreign_keys
73+
new_fks = []
7374
statements = foreign_keys.map do |foreign_key|
7475
next if already_inserted_foreign_keys.any? { |fk| fk.from_table == foreign_key.from_table && fk.options[:name] == foreign_key.options[:name] }
7576

7677
options = foreign_key_options(foreign_key.from_table, foreign_key.to_table, foreign_key.options)
7778
at = create_alter_table foreign_key.from_table
7879
at.add_foreign_key foreign_key.to_table, options
7980

81+
new_fks << foreign_key
8082
schema_creation.accept(at)
8183
end
8284
execute_batch(statements.compact, "Disable referential integrity -> add foreign keys")
83-
new_fks = statements.compact.size
84-
STDOUT.puts "FK DIFF: #{new_fks - dropped_fks}"
85+
86+
new_fks = new_fks.map { _1.from_table + " -> " + _1.to_table + (_1.options[:name] ? " (#{_1.options[:name]})" : "") }
87+
dropped_fks = dropped_fks.map { _1.from_table + " -> " + _1.to_table + (_1.options[:name] ? " (#{_1.options[:name]})" : "") }
88+
STDOUT.puts "FK DIFF NEW:\n", (new_fks - dropped_fks).map{ "\t#{_1}" } if (new_fks - dropped_fks).any?
89+
STDOUT.puts "FK DIFF OLD:\n", (dropped_fks - new_fks).map{ "\t#{_1}" } if (dropped_fks - new_fks).any?
8590
ensure
8691
ActiveRecord::Base.table_name_prefix = old_prefix
8792
ActiveRecord::Base.table_name_suffix = old_suffix

0 commit comments

Comments
 (0)