mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
Merge pull request #8959 from vitorbaptista/master
Don't rely on Hash key's ordering to configure default options
This commit is contained in:
commit
555cb0afb5
3 changed files with 6 additions and 3 deletions
|
@ -7,13 +7,15 @@ module ActiveRecord
|
|||
module ConnectionHandling
|
||||
# Establishes a connection to the database that's used by all Active Record objects.
|
||||
def mysql2_connection(config)
|
||||
config = config.symbolize_keys
|
||||
|
||||
config[:username] = 'root' if config[:username].nil?
|
||||
|
||||
if Mysql2::Client.const_defined? :FOUND_ROWS
|
||||
config[:flags] = Mysql2::Client::FOUND_ROWS
|
||||
end
|
||||
|
||||
client = Mysql2::Client.new(config.symbolize_keys)
|
||||
client = Mysql2::Client.new(config)
|
||||
options = [config[:host], config[:username], config[:password], config[:database], config[:port], config[:socket], 0]
|
||||
ConnectionAdapters::Mysql2Adapter.new(client, logger, options, config)
|
||||
end
|
||||
|
|
|
@ -18,9 +18,9 @@ module ActiveRecord
|
|||
# create_database config[:database], config
|
||||
# create_database 'foo_development', encoding: 'unicode'
|
||||
def create_database(name, options = {})
|
||||
options = options.reverse_merge(:encoding => "utf8")
|
||||
options = { encoding: 'utf8' }.merge!(options.symbolize_keys)
|
||||
|
||||
option_string = options.symbolize_keys.sum do |key, value|
|
||||
option_string = options.sum do |key, value|
|
||||
case key
|
||||
when :owner
|
||||
" OWNER = \"#{value}\""
|
||||
|
|
|
@ -16,6 +16,7 @@ class PostgresqlActiveSchemaTest < ActiveRecord::TestCase
|
|||
def test_create_database_with_encoding
|
||||
assert_equal %(CREATE DATABASE "matt" ENCODING = 'utf8'), create_database(:matt)
|
||||
assert_equal %(CREATE DATABASE "aimonetti" ENCODING = 'latin1'), create_database(:aimonetti, :encoding => :latin1)
|
||||
assert_equal %(CREATE DATABASE "aimonetti" ENCODING = 'latin1'), create_database(:aimonetti, 'encoding' => :latin1)
|
||||
end
|
||||
|
||||
def test_create_database_with_collation_and_ctype
|
||||
|
|
Loading…
Reference in a new issue