diff --git a/lib/database_cleaner/active_record/deletion.rb b/lib/database_cleaner/active_record/deletion.rb index d172355..f3e9ebc 100644 --- a/lib/database_cleaner/active_record/deletion.rb +++ b/lib/database_cleaner/active_record/deletion.rb @@ -56,7 +56,7 @@ module DatabaseCleaner::ActiveRecord @db_name ||= connection.instance_variable_get('@config')[:database] stats = table_stats_query(connection, @db_name) if stats != '' - connection.exec_query(stats).inject([]) {|all, stat| all << stat['table_name'] if stat['exact_row_count'] > 0; all } + connection.exec_query(stats).inject([]) {|all, stat| all << stat['table_name'] if stat['has_rows'] == 1; all } else [] end @@ -73,7 +73,7 @@ module DatabaseCleaner::ActiveRecord AND #{::DatabaseCleaner::ActiveRecord::Base.exclusion_condition('table_name')}; SQL queries = tables.map do |table| - "SELECT #{connection.quote(table)} AS table_name, COUNT(*) AS exact_row_count FROM #{connection.quote_table_name(table)}" + "SELECT #{connection.quote(table)} AS table_name, COUNT(*) > 0 AS has_rows FROM #{connection.quote_table_name(table)}" end @table_stats_query = queries.join(' UNION ') end diff --git a/spec/database_cleaner/moped/truncation_spec.rb b/spec/database_cleaner/moped/truncation_spec.rb index 2b43711..e7220ba 100644 --- a/spec/database_cleaner/moped/truncation_spec.rb +++ b/spec/database_cleaner/moped/truncation_spec.rb @@ -25,7 +25,7 @@ module DatabaseCleaner end def ensure_counts(expected_counts) - # I had to add this sanity_check garbage because I was getting non-determinisc results from mongo at times.. + # I had to add this sanity_check garbage because I was getting non-deterministic results from mongo at times.. # very odd and disconcerting... expected_counts.each do |model_class, expected_count| actual_count = model_class.count