Ruby on rails 为什么db:create停止工作?

Ruby on rails 为什么db:create停止工作?,ruby-on-rails,postgresql,migration,Ruby On Rails,Postgresql,Migration,直到最近,db:create工作得还不错,但现在我在下面发布的stacktrace失败了。这是一个字符串,不能强制为Fixnum错误 这可能是什么原因 我的密码包含字母和数字,所以不可能是原因 跟踪只指向Rails代码,而不是我自己的代码,这使得调试成为一项挑战 我注释掉了模型中使用+操作符的方法,但这并没有解决任何问题 My数据库.yml: development: adapter: postgresql database: db/testivate_development poo

直到最近,
db:create
工作得还不错,但现在我在下面发布的stacktrace失败了。这是一个
字符串,不能强制为Fixnum
错误

这可能是什么原因

我的密码包含字母和数字,所以不可能是原因

跟踪只指向Rails代码,而不是我自己的代码,这使得调试成为一项挑战

我注释掉了模型中使用
+
操作符的方法,但这并没有解决任何问题

My
数据库.yml

development:
  adapter: postgresql
  database: db/testivate_development
  pool: 5
  username: steven
  password: <redacted>
  host: localhost

test: &test
  adapter: postgresql
  database: db/testivate_test<%= ENV['TEST_ENV_NUMBER'] %>
  pool: 5
  username: steven
  password: <redacted>
  host: localhost

production:
  adapter: postgresql
  database: db/testivate_production
  pool: 5
  username: steven
  password:

cucumber:
  <<: *test

看起来bug在enumstats gem中。是否将其包含在GEM文件中?

是否升级了运行此代码的操作系统?这可能是关于Nokogiri的警告的副作用,也可能是另一个需要重新编译的宝石。谢谢Grant。我最近没有升级操作系统,但我会重新编译Nokogiri等,只是为了确定。Steven-尝试使用“”强制密码为字符串,这样YAML解析器就不会试图强制使用Fixnum。刚刚意识到你在另一个SO问题/答案中与此相关。你试过这个吗?我所有的用户名和密码都用引号括起来了,但我仍然得到了
字符串不能被coreced到Fixnum
错误中。看起来bug在
enumstats
gem中。你把它包括在你的档案里了吗?
$ rake db:create
WARNING: Nokogiri was built against LibXML version 2.7.8, but has dynamically loaded 2.9.0
String can't be coerced into Fixnum
/Users/steven/.rvm/gems/ruby-1.9.2-p320/gems/enumstats-0.0.3/lib/enumstats/enumerable.rb:3:in `+'
/Users/steven/.rvm/gems/ruby-1.9.2-p320/gems/enumstats-0.0.3/lib/enumstats/enumerable.rb:3:in `block in sum'
/Users/steven/.rvm/gems/ruby-1.9.2-p320/gems/enumstats-0.0.3/lib/enumstats/enumerable.rb:3:in `each'
/Users/steven/.rvm/gems/ruby-1.9.2-p320/gems/enumstats-0.0.3/lib/enumstats/enumerable.rb:3:in `inject'
/Users/steven/.rvm/gems/ruby-1.9.2-p320/gems/enumstats-0.0.3/lib/enumstats/enumerable.rb:3:in `sum'
/Users/steven/.rvm/gems/ruby-1.9.2-p320/gems/activerecord-3.2.11/lib/active_record/connection_adapters/postgresql_adapter.rb:749:in `create_database'
/Users/steven/.rvm/gems/ruby-1.9.2-p320/gems/activerecord-3.2.11/lib/active_record/railties/databases.rake:130:in `rescue in create_database'
/Users/steven/.rvm/gems/ruby-1.9.2-p320/gems/activerecord-3.2.11/lib/active_record/railties/databases.rake:74:in `create_database'
/Users/steven/.rvm/gems/ruby-1.9.2-p320/gems/activerecord-3.2.11/lib/active_record/railties/databases.rake:62:in `block (3 levels) in <top (required)>'
/Users/steven/.rvm/gems/ruby-1.9.2-p320/gems/activerecord-3.2.11/lib/active_record/railties/databases.rake:62:in `each'
/Users/steven/.rvm/gems/ruby-1.9.2-p320/gems/activerecord-3.2.11/lib/active_record/railties/databases.rake:62:in `block (2 levels) in <top (required)>'
/Users/steven/.rvm/gems/ruby-1.9.2-p320/gems/rake-10.1.0/lib/rake/task.rb:236:in `call'
/Users/steven/.rvm/gems/ruby-1.9.2-p320/gems/rake-10.1.0/lib/rake/task.rb:236:in `block in execute'
/Users/steven/.rvm/gems/ruby-1.9.2-p320/gems/rake-10.1.0/lib/rake/task.rb:231:in `each'
/Users/steven/.rvm/gems/ruby-1.9.2-p320/gems/rake-10.1.0/lib/rake/task.rb:231:in `execute'
/Users/steven/.rvm/gems/ruby-1.9.2-p320/gems/rake-10.1.0/lib/rake/task.rb:175:in `block in invoke_with_call_chain'
/Users/steven/.rvm/rubies/ruby-1.9.2-p320/lib/ruby/1.9.1/monitor.rb:201:in `mon_synchronize'
/Users/steven/.rvm/gems/ruby-1.9.2-p320/gems/rake-10.1.0/lib/rake/task.rb:168:in `invoke_with_call_chain'
/Users/steven/.rvm/gems/ruby-1.9.2-p320/gems/rake-10.1.0/lib/rake/task.rb:161:in `invoke'
/Users/steven/.rvm/gems/ruby-1.9.2-p320/gems/rake-10.1.0/lib/rake/application.rb:149:in `invoke_task'
/Users/steven/.rvm/gems/ruby-1.9.2-p320/gems/rake-10.1.0/lib/rake/application.rb:106:in `block (2 levels) in top_level'
/Users/steven/.rvm/gems/ruby-1.9.2-p320/gems/rake-10.1.0/lib/rake/application.rb:106:in `each'
/Users/steven/.rvm/gems/ruby-1.9.2-p320/gems/rake-10.1.0/lib/rake/application.rb:106:in `block in top_level'
/Users/steven/.rvm/gems/ruby-1.9.2-p320/gems/rake-10.1.0/lib/rake/application.rb:115:in `run_with_threads'
/Users/steven/.rvm/gems/ruby-1.9.2-p320/gems/rake-10.1.0/lib/rake/application.rb:100:in `top_level'
/Users/steven/.rvm/gems/ruby-1.9.2-p320/gems/rake-10.1.0/lib/rake/application.rb:78:in `block in run'
/Users/steven/.rvm/gems/ruby-1.9.2-p320/gems/rake-10.1.0/lib/rake/application.rb:165:in `standard_exception_handling'
/Users/steven/.rvm/gems/ruby-1.9.2-p320/gems/rake-10.1.0/lib/rake/application.rb:75:in `run'
/Users/steven/.rvm/gems/ruby-1.9.2-p320/gems/rake-10.1.0/bin/rake:33:in `<top (required)>'
/Users/steven/.rvm/gems/ruby-1.9.2-p320/bin/rake:19:in `load'
/Users/steven/.rvm/gems/ruby-1.9.2-p320/bin/rake:19:in `<main>'
/Users/steven/.rvm/gems/ruby-1.9.2-p320/bin/ruby_noexec_wrapper:14:in `eval'
/Users/steven/.rvm/gems/ruby-1.9.2-p320/bin/ruby_noexec_wrapper:14:in `<main>'
Couldn't create database for {"adapter"=>"postgresql", "database"=>"db/testivate_development", "pool"=>5, "username"=>"steven", "password"=>"<redacted>", "host"=>"localhost"}
String can't be coerced into Fixnum
/Users/steven/.rvm/gems/ruby-1.9.2-p320/gems/enumstats-0.0.3/lib/enumstats/enumerable.rb:3:in `+'
/Users/steven/.rvm/gems/ruby-1.9.2-p320/gems/enumstats-0.0.3/lib/enumstats/enumerable.rb:3:in `block in sum'
/Users/steven/.rvm/gems/ruby-1.9.2-p320/gems/enumstats-0.0.3/lib/enumstats/enumerable.rb:3:in `each'
/Users/steven/.rvm/gems/ruby-1.9.2-p320/gems/enumstats-0.0.3/lib/enumstats/enumerable.rb:3:in `inject'
/Users/steven/.rvm/gems/ruby-1.9.2-p320/gems/enumstats-0.0.3/lib/enumstats/enumerable.rb:3:in `sum'
/Users/steven/.rvm/gems/ruby-1.9.2-p320/gems/activerecord-3.2.11/lib/active_record/connection_adapters/postgresql_adapter.rb:749:in `create_database'
/Users/steven/.rvm/gems/ruby-1.9.2-p320/gems/activerecord-3.2.11/lib/active_record/railties/databases.rake:130:in `rescue in create_database'
/Users/steven/.rvm/gems/ruby-1.9.2-p320/gems/activerecord-3.2.11/lib/active_record/railties/databases.rake:74:in `create_database'
/Users/steven/.rvm/gems/ruby-1.9.2-p320/gems/activerecord-3.2.11/lib/active_record/railties/databases.rake:62:in `block (3 levels) in <top (required)>'
/Users/steven/.rvm/gems/ruby-1.9.2-p320/gems/activerecord-3.2.11/lib/active_record/railties/databases.rake:62:in `each'
/Users/steven/.rvm/gems/ruby-1.9.2-p320/gems/activerecord-3.2.11/lib/active_record/railties/databases.rake:62:in `block (2 levels) in <top (required)>'
/Users/steven/.rvm/gems/ruby-1.9.2-p320/gems/rake-10.1.0/lib/rake/task.rb:236:in `call'
/Users/steven/.rvm/gems/ruby-1.9.2-p320/gems/rake-10.1.0/lib/rake/task.rb:236:in `block in execute'
/Users/steven/.rvm/gems/ruby-1.9.2-p320/gems/rake-10.1.0/lib/rake/task.rb:231:in `each'
/Users/steven/.rvm/gems/ruby-1.9.2-p320/gems/rake-10.1.0/lib/rake/task.rb:231:in `execute'
/Users/steven/.rvm/gems/ruby-1.9.2-p320/gems/rake-10.1.0/lib/rake/task.rb:175:in `block in invoke_with_call_chain'
/Users/steven/.rvm/rubies/ruby-1.9.2-p320/lib/ruby/1.9.1/monitor.rb:201:in `mon_synchronize'
/Users/steven/.rvm/gems/ruby-1.9.2-p320/gems/rake-10.1.0/lib/rake/task.rb:168:in `invoke_with_call_chain'
/Users/steven/.rvm/gems/ruby-1.9.2-p320/gems/rake-10.1.0/lib/rake/task.rb:161:in `invoke'
/Users/steven/.rvm/gems/ruby-1.9.2-p320/gems/rake-10.1.0/lib/rake/application.rb:149:in `invoke_task'
/Users/steven/.rvm/gems/ruby-1.9.2-p320/gems/rake-10.1.0/lib/rake/application.rb:106:in `block (2 levels) in top_level'
/Users/steven/.rvm/gems/ruby-1.9.2-p320/gems/rake-10.1.0/lib/rake/application.rb:106:in `each'
/Users/steven/.rvm/gems/ruby-1.9.2-p320/gems/rake-10.1.0/lib/rake/application.rb:106:in `block in top_level'
/Users/steven/.rvm/gems/ruby-1.9.2-p320/gems/rake-10.1.0/lib/rake/application.rb:115:in `run_with_threads'
/Users/steven/.rvm/gems/ruby-1.9.2-p320/gems/rake-10.1.0/lib/rake/application.rb:100:in `top_level'
/Users/steven/.rvm/gems/ruby-1.9.2-p320/gems/rake-10.1.0/lib/rake/application.rb:78:in `block in run'
/Users/steven/.rvm/gems/ruby-1.9.2-p320/gems/rake-10.1.0/lib/rake/application.rb:165:in `standard_exception_handling'
/Users/steven/.rvm/gems/ruby-1.9.2-p320/gems/rake-10.1.0/lib/rake/application.rb:75:in `run'
/Users/steven/.rvm/gems/ruby-1.9.2-p320/gems/rake-10.1.0/bin/rake:33:in `<top (required)>'
/Users/steven/.rvm/gems/ruby-1.9.2-p320/bin/rake:19:in `load'
/Users/steven/.rvm/gems/ruby-1.9.2-p320/bin/rake:19:in `<main>'
/Users/steven/.rvm/gems/ruby-1.9.2-p320/bin/ruby_noexec_wrapper:14:in `eval'
/Users/steven/.rvm/gems/ruby-1.9.2-p320/bin/ruby_noexec_wrapper:14:in `<main>'
Couldn't create database for {"adapter"=>"postgresql", "database"=>"db/testivate_test", "pool"=>5, "username"=>"steven", "password"=>"<redacted>", "host"=>"localhost"}
development:
  adapter: postgresql
  database: db/testivate_development
  username: "steven"
  password: "<redacted>"
  host: localhost

test:
  adapter: postgresql
  database: db/testivate_test
  username: "steven"
  password: "<redacted>"
  host: localhost