aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGaurish Sharma <contact@gaurishsharma.com>2012-12-10 01:31:39 +0530
committerGaurish Sharma <contact@gaurishsharma.com>2012-12-10 01:31:39 +0530
commitd1e70cb7b410f5151b08af9b38b2d6d80c1c61c2 (patch)
treee5278963986c5db79d0ffde615dc7e9b4a2bce39
parent2f0311d79af01dc59ab3bd95cd6a56511258f917 (diff)
downloadrails-d1e70cb7b410f5151b08af9b38b2d6d80c1c61c2.tar.gz
rails-d1e70cb7b410f5151b08af9b38b2d6d80c1c61c2.tar.bz2
rails-d1e70cb7b410f5151b08af9b38b2d6d80c1c61c2.zip
Add quotes to Numeric Passwords to force string(sqlserver)
If you have numeric password for your database, like below: ```yaml development: adapter: mysql2 encoding: utf8 database: myblog_development pool: 5 username: root password: 123456 ``` you will get the following obscure error with unhelpful stack-trace ```shell /home/gaurish/.rvm/gems/ruby-1.9.3-p286-perf/gems/mysql2-0.3.11/lib/mysql2/client.rb:44:in `connect': can't convert Fixnum into String (TypeError) from /home/gaurish/.rvm/gems/ruby-1.9.3-p286-perf/gems/mysql2-0.3.11/lib/mysql2/client.rb:44:in `initialize' from /home/gaurish/code/repo/rails/activerecord/lib/active_record/connection_adapters/mysql2_adapter.rb:16:in `new' from /home/gaurish/code/repo/rails/activerecord/lib/active_record/connection_adapters/mysql2_adapter.rb:16:in `mysql2_connection' from /home/gaurish/code/repo/rails/activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb:444:in `new_connection' from /home/gaurish/code/repo/rails/activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb:454:in `checkout_new_connection' from /home/gaurish/code/repo/rails/activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb:425:in `acquire_connection' from /home/gaurish/code/repo/rails/activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb:362:in `block in checkout' from /home/gaurish/.rvm/rubies/ruby-1.9.3-p286-perf/lib/ruby/1.9.1/monitor.rb:211:in `mon_synchronize' from /home/gaurish/code/repo/rails/activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb:361:in `checkout' from /home/gaurish/code/repo/rails/activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb:271:in `block in connection' from /home/gaurish/.rvm/rubies/ruby-1.9.3-p286-perf/lib/ruby/1.9.1/monitor.rb:211:in `mon_synchronize' from /home/gaurish/code/repo/rails/activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb:270:in `connection' from /home/gaurish/code/repo/rails/activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb:545:in `retrieve_connection' from /home/gaurish/code/repo/rails/activerecord/lib/active_record/connection_handling.rb:79:in `retrieve_connection' from /home/gaurish/code/repo/rails/activerecord/lib/active_record/connection_handling.rb:53:in `connection' from /home/gaurish/code/repo/rails/activerecord/lib/active_record/railtie.rb:153:in `block in <class:Railtie>' from /home/gaurish/code/repo/rails/railties/lib/rails/initializable.rb:30:in `instance_exec' from /home/gaurish/code/repo/rails/railties/lib/rails/initializable.rb:30:in `run' from /home/gaurish/code/repo/rails/railties/lib/rails/initializable.rb:55:in `block in run_initializers' from /home/gaurish/.rvm/rubies/ruby-1.9.3-p286-perf/lib/ruby/1.9.1/tsort.rb:150:in `block in tsort_each' from /home/gaurish/.rvm/rubies/ruby-1.9.3-p286-perf/lib/ruby/1.9.1/tsort.rb:183:in `block (2 levels) in each_strongly_connected_component' from /home/gaurish/.rvm/rubies/ruby-1.9.3-p286-perf/lib/ruby/1.9.1/tsort.rb:219:in `each_strongly_connected_component_from' from /home/gaurish/.rvm/rubies/ruby-1.9.3-p286-perf/lib/ruby/1.9.1/tsort.rb:182:in `block in each_strongly_connected_component' from /home/gaurish/.rvm/rubies/ruby-1.9.3-p286-perf/lib/ruby/1.9.1/tsort.rb:180:in `each' from /home/gaurish/.rvm/rubies/ruby-1.9.3-p286-perf/lib/ruby/1.9.1/tsort.rb:180:in `each_strongly_connected_component' from /home/gaurish/.rvm/rubies/ruby-1.9.3-p286-perf/lib/ruby/1.9.1/tsort.rb:148:in `tsort_each' from /home/gaurish/code/repo/rails/railties/lib/rails/initializable.rb:54:in `run_initializers' from /home/gaurish/code/repo/rails/railties/lib/rails/application.rb:216:in `initialize!' from /home/gaurish/code/repo/rails/railties/lib/rails/railtie/configurable.rb:30:in `method_missing' from /tmp/numericpass/config/environment.rb:5:in `<top (required)>' from /home/gaurish/code/repo/rails/railties/lib/rails/application.rb:190:in `require' from /home/gaurish/code/repo/rails/railties/lib/rails/application.rb:190:in `require_environment!' from /home/gaurish/code/repo/rails/railties/lib/rails/commands.rb:70:in `<top (required)>' from script/rails:6:in `require' from script/rails:6:in `<main>' ``` Looking [Can't convert fixnum to string during rake db:create](http://stackoverflow.com/questions/3765834/cant-convert-fixnum-to-string-during-rake-dbcreate), it seems lot of people have faced the same error. so adding a note informing about numeric passwords seems like a good idea
-rw-r--r--railties/lib/rails/generators/rails/app/templates/config/databases/sqlserver.yml2
1 files changed, 2 insertions, 0 deletions
diff --git a/railties/lib/rails/generators/rails/app/templates/config/databases/sqlserver.yml b/railties/lib/rails/generators/rails/app/templates/config/databases/sqlserver.yml
index b52b733c56..841bee63dc 100644
--- a/railties/lib/rails/generators/rails/app/templates/config/databases/sqlserver.yml
+++ b/railties/lib/rails/generators/rails/app/templates/config/databases/sqlserver.yml
@@ -28,6 +28,8 @@ development:
reconnect: false
database: <%= app_name %>_development
username: <%= app_name %>
+ # Remember to use quotes incase of numeric passwords to force string type to yaml parser
+ # for example, use "123456" instead of 123456
password:
timeout: 25
dataserver: from_freetds.conf