aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord
diff options
context:
space:
mode:
authorLuca Guidi <guidi.luca@gmail.com>2008-10-03 16:08:17 +0200
committerMichael Koziarski <michael@koziarski.com>2008-10-03 22:08:55 +0200
commit1bc267d21679408b3624d1c697656ec250c01972 (patch)
tree215ca0839ffea807b930a3dd3e29e5c48d5061f3 /activerecord
parent7553a23c0a84424bdbc09cc81791f41bfebe1b25 (diff)
downloadrails-1bc267d21679408b3624d1c697656ec250c01972.tar.gz
rails-1bc267d21679408b3624d1c697656ec250c01972.tar.bz2
rails-1bc267d21679408b3624d1c697656ec250c01972.zip
Make sure recreate MySQL test database with the proper encoding and collation [#1165 state:resolved]
Signed-off-by: Michael Koziarski <michael@koziarski.com> [#1165 state:committed]
Diffstat (limited to 'activerecord')
-rw-r--r--activerecord/lib/active_record/connection_adapters/mysql_adapter.rb4
-rw-r--r--activerecord/test/cases/active_schema_test_mysql.rb5
2 files changed, 7 insertions, 2 deletions
diff --git a/activerecord/lib/active_record/connection_adapters/mysql_adapter.rb b/activerecord/lib/active_record/connection_adapters/mysql_adapter.rb
index a26fd02b90..3aa27bfc99 100644
--- a/activerecord/lib/active_record/connection_adapters/mysql_adapter.rb
+++ b/activerecord/lib/active_record/connection_adapters/mysql_adapter.rb
@@ -371,9 +371,9 @@ module ActiveRecord
end
end
- def recreate_database(name) #:nodoc:
+ def recreate_database(name, options = {}) #:nodoc:
drop_database(name)
- create_database(name)
+ create_database(name, options)
end
# Create a new MySQL database with optional <tt>:charset</tt> and <tt>:collation</tt>.
diff --git a/activerecord/test/cases/active_schema_test_mysql.rb b/activerecord/test/cases/active_schema_test_mysql.rb
index 2a42dc3517..9aff538ce9 100644
--- a/activerecord/test/cases/active_schema_test_mysql.rb
+++ b/activerecord/test/cases/active_schema_test_mysql.rb
@@ -25,6 +25,11 @@ class ActiveSchemaTest < ActiveRecord::TestCase
assert_equal "CREATE DATABASE `aimonetti` DEFAULT CHARACTER SET `latin1`", create_database(:aimonetti, {:charset => 'latin1'})
assert_equal "CREATE DATABASE `matt_aimonetti` DEFAULT CHARACTER SET `big5` COLLATE `big5_chinese_ci`", create_database(:matt_aimonetti, {:charset => :big5, :collation => :big5_chinese_ci})
end
+
+ def test_recreate_mysql_database_with_encoding
+ create_database(:luca, {:charset => 'latin1'})
+ assert_equal "CREATE DATABASE `luca` DEFAULT CHARACTER SET `latin1`", recreate_database(:luca, {:charset => 'latin1'})
+ end
end
def test_add_column