Skip to content

Commit 002b677

Browse files
committed
tmp: try to keep ref integrity
1 parent c02cf48 commit 002b677

File tree

1 file changed

+9
-2
lines changed

1 file changed

+9
-2
lines changed

lib/active_record/connection_adapters/cockroachdb/database_statements.rb

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,15 @@ def insert_fixtures_set(fixture_set, tables_to_delete = [])
2424
table_deletes = tables_to_delete.map { |table| "DELETE FROM #{quote_table_name(table)}" }
2525
statements = table_deletes + fixture_inserts
2626

27-
disable_referential_integrity do
28-
execute_batch(statements, "Fixtures Load")
27+
begin # much faster without disabling referential integrity, worth trying.
28+
transaction(requires_new: true) do
29+
execute_batch(statements, "Fixtures Load")
30+
end
31+
rescue
32+
puts "Retrying fixture load with referential integrity disabled for #{fixture_set}"
33+
disable_referential_integrity do
34+
execute_batch(statements, "Fixtures Load")
35+
end
2936
end
3037
end
3138
end

0 commit comments

Comments
 (0)