Note that there are some explanatory texts on larger screens.

plurals
  1. PORuby and rails yaml parser error for database.yml
    text
    copied!<p>Environment Rails 3.2.14 Ruby 1.9.3p448 Ubuntu 12.04 bundler version 1.3.5</p> <p>There is some problem with the way ruby 1.9.3 is loading the YAML. If I dry up the code in databse.yml file the rails console, server, generate etc commands fails. If I remove those defaults then everything works fine.</p> <p>I have tried psych parser and syck parser. Its just the error trace is different in syck parser, but problem persists.</p> <p>Below is just the example. Actual configuration is different. causes error when database.yml is something like this:</p> <pre><code>default: &amp;default host: localhost ... development: &lt;&lt; *default pool: 5 ... </code></pre> <p>Works totally fine when database.yml file is something like this:</p> <pre><code>development: host: localhost pool: 5 </code></pre> <p>Below is the error trace:</p> <pre><code>/home/naveen/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/psych/visitors/to_ruby.rb:246:in `block in visit_Psych_Nodes_Alias': Unknown alias: production (Psych::BadAlias) from /home/naveen/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/psych/visitors/to_ruby.rb:246:in `fetch' from /home/naveen/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/psych/visitors/to_ruby.rb:246:in `visit_Psych_Nodes_Alias' from /home/naveen/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/psych/visitors/visitor.rb:15:in `visit' from /home/naveen/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/psych/visitors/visitor.rb:5:in `accept' from /home/naveen/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/psych/visitors/to_ruby.rb:20:in `accept' from /home/naveen/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/psych/visitors/to_ruby.rb:264:in `block in revive_hash' from /home/naveen/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/psych/visitors/to_ruby.rb:258:in `each' from /home/naveen/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/psych/visitors/to_ruby.rb:258:in `each_slice' from /home/naveen/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/psych/visitors/to_ruby.rb:258:in `revive_hash' from /home/naveen/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/psych/visitors/to_ruby.rb:141:in `visit_Psych_Nodes_Mapping' from /home/naveen/.rvm/gems/ruby-1.9.3-p448@EconveyancePro3/gems/delayed_job-4.0.0/lib/delayed/psych_ext.rb:133:in `visit_Psych_Nodes_Mapping_with_class' from /home/naveen/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/psych/visitors/visitor.rb:15:in `visit' from /home/naveen/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/psych/visitors/visitor.rb:5:in `accept' from /home/naveen/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/psych/visitors/to_ruby.rb:20:in `accept' from /home/naveen/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/psych/visitors/to_ruby.rb:273:in `block in revive_hash' from /home/naveen/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/psych/visitors/to_ruby.rb:258:in `each' from /home/naveen/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/psych/visitors/to_ruby.rb:258:in `each_slice' from /home/naveen/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/psych/visitors/to_ruby.rb:258:in `revive_hash' from /home/naveen/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/psych/visitors/to_ruby.rb:141:in `visit_Psych_Nodes_Mapping' from /home/naveen/.rvm/gems/ruby-1.9.3-p448@EconveyancePro3/gems/delayed_job-4.0.0/lib/delayed/psych_ext.rb:133:in `visit_Psych_Nodes_Mapping_with_class' from /home/naveen/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/psych/visitors/visitor.rb:15:in `visit' from /home/naveen/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/psych/visitors/visitor.rb:5:in `accept' from /home/naveen/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/psych/visitors/to_ruby.rb:20:in `accept' from /home/naveen/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/psych/visitors/to_ruby.rb:238:in `visit_Psych_Nodes_Document' from /home/naveen/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/psych/visitors/visitor.rb:15:in `visit' from /home/naveen/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/psych/visitors/visitor.rb:5:in `accept' from /home/naveen/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/psych/visitors/to_ruby.rb:20:in `accept' from /home/naveen/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/psych/nodes/node.rb:35:in `to_ruby' from /home/naveen/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/psych.rb:128:in `load' from /home/naveen/.rvm/gems/ruby-1.9.3-p448@EconveyancePro3/gems/railties-3.2.13/lib/rails/application/configuration.rb:115:in `database_configuration' from /home/naveen/.rvm/gems/ruby-1.9.3-p448@EconveyancePro3/gems/activerecord-3.2.13/lib/active_record/railtie.rb:78:in `block (2 levels) in &lt;class:Railtie&gt;' from /home/naveen/.rvm/gems/ruby-1.9.3-p448@EconveyancePro3/gems/activesupport-3.2.13/lib/active_support/lazy_load_hooks.rb:36:in `instance_eval' from /home/naveen/.rvm/gems/ruby-1.9.3-p448@EconveyancePro3/gems/activesupport-3.2.13/lib/active_support/lazy_load_hooks.rb:36:in `execute_hook' from /home/naveen/.rvm/gems/ruby-1.9.3-p448@EconveyancePro3/gems/activesupport-3.2.13/lib/active_support/lazy_load_hooks.rb:26:in `block in on_load' from /home/naveen/.rvm/gems/ruby-1.9.3-p448@EconveyancePro3/gems/activesupport-3.2.13/lib/active_support/lazy_load_hooks.rb:25:in `each' from /home/naveen/.rvm/gems/ruby-1.9.3-p448@EconveyancePro3/gems/activesupport-3.2.13/lib/active_support/lazy_load_hooks.rb:25:in `on_load' from /home/naveen/.rvm/gems/ruby-1.9.3-p448@EconveyancePro3/gems/activerecord-3.2.13/lib/active_record/railtie.rb:74:in `block in &lt;class:Railtie&gt;' from /home/naveen/.rvm/gems/ruby-1.9.3-p448@EconveyancePro3/gems/railties-3.2.13/lib/rails/initializable.rb:30:in `instance_exec' from /home/naveen/.rvm/gems/ruby-1.9.3-p448@EconveyancePro3/gems/railties-3.2.13/lib/rails/initializable.rb:30:in `run' from /home/naveen/.rvm/gems/ruby-1.9.3-p448@EconveyancePro3/gems/railties-3.2.13/lib/rails/initializable.rb:55:in `block in run_initializers' from /home/naveen/.rvm/gems/ruby-1.9.3-p448@EconveyancePro3/gems/railties-3.2.13/lib/rails/initializable.rb:54:in `each' from /home/naveen/.rvm/gems/ruby-1.9.3-p448@EconveyancePro3/gems/railties-3.2.13/lib/rails/initializable.rb:54:in `run_initializers' from /home/naveen/.rvm/gems/ruby-1.9.3-p448@EconveyancePro3/gems/railties-3.2.13/lib/rails/application.rb:136:in `initialize!' from /home/naveen/.rvm/gems/ruby-1.9.3-p448@EconveyancePro3/gems/railties-3.2.13/lib/rails/railtie/configurable.rb:30:in `method_missing' from /home/naveen/workspace/econveyance/EconveyancePro3/config/environment.rb:6:in `&lt;top (required)&gt;' from /home/naveen/.rvm/gems/ruby-1.9.3-p448@EconveyancePro3/gems/activesupport-3.2.13/lib/active_support/dependencies.rb:251:in `require' from /home/naveen/.rvm/gems/ruby-1.9.3-p448@EconveyancePro3/gems/activesupport-3.2.13/lib/active_support/dependencies.rb:251:in `block in require' from /home/naveen/.rvm/gems/ruby-1.9.3-p448@EconveyancePro3/gems/activesupport-3.2.13/lib/active_support/dependencies.rb:236:in `load_dependency' from /home/naveen/.rvm/gems/ruby-1.9.3-p448@EconveyancePro3/gems/activesupport-3.2.13/lib/active_support/dependencies.rb:251:in `require' from /home/naveen/.rvm/gems/ruby-1.9.3-p448@EconveyancePro3/gems/railties-3.2.13/lib/rails/application.rb:103:in `require_environment!' from /home/naveen/.rvm/gems/ruby-1.9.3-p448@EconveyancePro3/gems/railties-3.2.13/lib/rails/commands.rb:40:in `&lt;top (required)&gt;' from script/rails:6:in `require' from script/rails:6:in `&lt;main&gt;' ... </code></pre> <p>Below is the complete database.yml file. If I uncomment the commented part then this error shows up. where as with ruby 1.8.7 and rails 2.3.x everything was working fine.</p> <pre><code>development: &amp;development adapter: mysql2 database: &lt;%= $dev_main_database %&gt; username: root password: timeout: 60000 host: &lt;%= $dev_linux_machine_name %&gt; encoding: utf8 test: adapter: mysql2 database: ecpmain_test username: root password: timeout: 60000 host: tecpdb encoding: utf8 staging: &amp;staging adapter: mysql2 database: ecpmain_staging username: sa password: woofer8 timeout: 60000 host: &lt;%= $staging_database_host %&gt; encoding: utf8 production: &amp;development adapter: mysql2 database: &lt;%= $dev_main_database %&gt; username: root password: timeout: 60000 host: &lt;%= $dev_linux_machine_name %&gt; encoding: utf8 # background_process_development: # &lt;&lt;: *development # background_process_staging: # &lt;&lt;: *staging # background_process_production: # &lt;&lt;: *production doc_finals_development: &amp;doc_finals_development adapter: mysql2 database: &lt;%= $dev_docs_database %&gt; username: sa password: woofer8 timeout: 60000 host: &lt;%= $dev_linux_machine_name %&gt; encoding: utf8 doc_finals_test: adapter: mysql2 database: ecpdocs_test username: sa password: woofer8 timeout: 60000 host: tecpdb encoding: utf8 doc_finals_staging: &amp;doc_finals_staging adapter: mysql2 database: ecpdocs_staging username: sa password: woofer8 timeout: 60000 host: &lt;%= $staging_database_host %&gt; encoding: utf8 doc_finals_production: &amp;doc_finals_production adapter: mysql2 database: ecpdocs_production username: sa password: nash!@w timeout: 60000 host: pecpdb3 encoding: utf8 # doc_finals_background_process_development: # &lt;&lt;: *doc_finals_development # doc_finals_background_process_staging: # &lt;&lt;: *doc_finals_staging # doc_finals_background_process_production: # &lt;&lt;: *doc_finals_production logging_development: &amp;logging_development adapter: mysql2 database: &lt;%= $dev_logging_database %&gt; username: sa password: woofer8 timeout: 60000 host: &lt;%= $dev_linux_machine_name %&gt; encoding: utf8 logging_test: adapter: mysql2 database: ecplogging_test username: sa password: woofer8 timeout: 60000 host: tecpdb encoding: utf8 logging_staging: &amp;logging_staging adapter: mysql2 database: ecplogging_staging username: sa password: woofer8 timeout: 60000 host: &lt;%= $staging_database_host %&gt; encoding: utf8 logging_production: &amp;logging_production adapter: mysql2 database: ecplogging_production username: sa password: nash!@w timeout: 60000 host: pecpdb3 encoding: utf8 # logging_background_process_development: # &lt;&lt;: *logging_development # logging_background_process_staging: # &lt;&lt;: *logging_staging # logging_background_process_production: # &lt;&lt;: *logging_production </code></pre>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload