From 3a4639fae5c89cec1695a89c4e1979ae35dde725 Mon Sep 17 00:00:00 2001 From: sanemat Date: Wed, 9 Jan 2013 18:56:42 +0900 Subject: [PATCH] Patch select_value for MysqlAdapter --- lib/database_cleaner/active_record/truncation.rb | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/lib/database_cleaner/active_record/truncation.rb b/lib/database_cleaner/active_record/truncation.rb index 62653af..ef05604 100755 --- a/lib/database_cleaner/active_record/truncation.rb +++ b/lib/database_cleaner/active_record/truncation.rb @@ -55,7 +55,9 @@ module DatabaseCleaner def row_count(table) - select_value("SELECT EXISTS (SELECT 1 FROM #{quote_table_name(table)} LIMIT 1)") + # Patch for MysqlAdapter with ActiveRecord 3.2.7 later + # select_value("SELECT 1") #=> "1" + select_value("SELECT EXISTS (SELECT 1 FROM #{quote_table_name(table)} LIMIT 1)").to_i end # Returns a boolean indicating if the given table has an auto-inc number higher than 0. @@ -66,7 +68,9 @@ module DatabaseCleaner if row_count(table) > 0 true else - select_value(<<-SQL) > 1 # returns nil if not present + # Patch for MysqlAdapter with ActiveRecord 3.2.7 later + # select_value("SELECT 1") #=> "1" + select_value(<<-SQL).to_i > 1 # returns nil if not present SELECT Auto_increment FROM information_schema.tables WHERE table_name='#{table}';