On Sunday, July 27, 2014 8:12:14 PM UTC+2, Special Agent Dale Cooper wrote: > > I was testing my app (with rspec) when I noticed that *rake test:prepare* > throws > an odd *FATAL: database "postgres" does not exist *error. Stranger still, > my tests run just fine regardless. > > However, whenever I use rake *test:prepare --trace *(after using *rake > db:migrate*) I get this error and receive a similar error when attempting > *rake > db:create RAILS_ENV=test* and also *rake db:drop RAILS_ENV=test *as well. > *Any > idea what I may be overlooking?* > > Here is the error in question: > > ** Invoke test:prepare (first_time) > ** Invoke db:test:prepare (first_time) > ** Invoke environment (first_time) > ** Execute environment > ** Invoke db:load_config (first_time) > ** Execute db:load_config > ** Execute db:test:prepare > ** Invoke db:test:load (first_time) > ** Invoke db:test:purge (first_time) > ** Invoke environment > ** Invoke db:load_config > ** Execute db:test:purge > rake aborted! > > > PG::Error: FATAL: database "postgres" does not exist > > /Users/dalecooper/.rvm/gems/ruby-2.0.0-p481@rails_4_0/gems/activerecord-4.0.8/lib/active_record/connection_adapters/postgresql_adapter.rb:855:in > > `initialize' > > /Users/dalecooper/.rvm/gems/ruby-2.0.0-p481@rails_4_0/gems/activerecord-4.0.8/lib/active_record/connection_adapters/postgresql_adapter.rb:855:in > > `new' > > /Users/dalecooper/.rvm/gems/ruby-2.0.0-p481@rails_4_0/gems/activerecord-4.0.8/lib/active_record/connection_adapters/postgresql_adapter.rb:855:in > > `connect' > > /Users/dalecooper/.rvm/gems/ruby-2.0.0-p481@rails_4_0/gems/activerecord-4.0.8/lib/active_record/connection_adapters/postgresql_adapter.rb:556:in > > `initialize' > > /Users/dalecooper/.rvm/gems/ruby-2.0.0-p481@rails_4_0/gems/activerecord-4.0.8/lib/active_record/connection_adapters/postgresql_adapter.rb:41:in > > `new' > > /Users/dalecooper/.rvm/gems/ruby-2.0.0-p481@rails_4_0/gems/activerecord-4.0.8/lib/active_record/connection_adapters/postgresql_adapter.rb:41:in > > `postgresql_connection' > > /Users/dalecooper/.rvm/gems/ruby-2.0.0-p481@rails_4_0/gems/activerecord-4.0.8/lib/active_record/connection_adapters/abstract/connection_pool.rb:440:in > > `new_connection' > > /Users/dalecooper/.rvm/gems/ruby-2.0.0-p481@rails_4_0/gems/activerecord-4.0.8/lib/active_record/connection_adapters/abstract/connection_pool.rb:450:in > > `checkout_new_connection' > > /Users/dalecooper/.rvm/gems/ruby-2.0.0-p481@rails_4_0/gems/activerecord-4.0.8/lib/active_record/connection_adapters/abstract/connection_pool.rb:421:in > > `acquire_connection' > > /Users/dalecooper/.rvm/gems/ruby-2.0.0-p481@rails_4_0/gems/activerecord-4.0.8/lib/active_record/connection_adapters/abstract/connection_pool.rb:356:in > > `block in checkout' > > /Users/dalecooper/.rvm/rubies/ruby-2.0.0-p481/lib/ruby/2.0.0/monitor.rb:211:in > > `mon_synchronize' > > /Users/dalecooper/.rvm/gems/ruby-2.0.0-p481@rails_4_0/gems/activerecord-4.0.8/lib/active_record/connection_adapters/abstract/connection_pool.rb:355:in > > `checkout' > > /Users/dalecooper/.rvm/gems/ruby-2.0.0-p481@rails_4_0/gems/activerecord-4.0.8/lib/active_record/connection_adapters/abstract/connection_pool.rb:265:in > > `block in connection' > > /Users/dalecooper/.rvm/rubies/ruby-2.0.0-p481/lib/ruby/2.0.0/monitor.rb:211:in > > `mon_synchronize' > > /Users/dalecooper/.rvm/gems/ruby-2.0.0-p481@rails_4_0/gems/activerecord-4.0.8/lib/active_record/connection_adapters/abstract/connection_pool.rb:264:in > > `connection' > > /Users/dalecooper/.rvm/gems/ruby-2.0.0-p481@rails_4_0/gems/activerecord-4.0.8/lib/active_record/connection_adapters/abstract/connection_pool.rb:546:in > > `retrieve_connection' > > /Users/dalecooper/.rvm/gems/ruby-2.0.0-p481@rails_4_0/gems/activerecord-4.0.8/lib/active_record/connection_handling.rb:79:in > > `retrieve_connection' > > /Users/dalecooper/.rvm/gems/ruby-2.0.0-p481@rails_4_0/gems/activerecord-4.0.8/lib/active_record/connection_handling.rb:53:in > > `connection' > > /Users/dalecooper/.rvm/gems/ruby-2.0.0-p481@rails_4_0/gems/activerecord-4.0.8/lib/active_record/tasks/postgresql_database_tasks.rb:8:in > > `connection' > > /Users/dalecooper/.rvm/gems/ruby-2.0.0-p481@rails_4_0/gems/activerecord-4.0.8/lib/active_record/tasks/postgresql_database_tasks.rb:30:in > > `drop' > > /Users/dalecooper/.rvm/gems/ruby-2.0.0-p481@rails_4_0/gems/activerecord-4.0.8/lib/active_record/tasks/postgresql_database_tasks.rb:43:in > > `purge' > > /Users/dalecooper/.rvm/gems/ruby-2.0.0-p481@rails_4_0/gems/activerecord-4.0.8/lib/active_record/tasks/database_tasks.rb:137:in > > `purge' > > /Users/dalecooper/.rvm/gems/ruby-2.0.0-p481@rails_4_0/gems/activerecord-4.0.8/lib/active_record/railties/databases.rake:365:in > > `block (3 levels) in <top (required)>' > > /Users/dalecooper/.rvm/gems/ruby-2.0.0-p481@rails_4_0/gems/rake-10.3.2/lib/rake/task.rb:240:in > > `call' > > /Users/dalecooper/.rvm/gems/ruby-2.0.0-p481@rails_4_0/gems/rake-10.3.2/lib/rake/task.rb:240:in > > `block in execute' > > /Users/dalecooper/.rvm/gems/ruby-2.0.0-p481@rails_4_0/gems/rake-10.3.2/lib/rake/task.rb:235:in > > `each' > > /Users/dalecooper/.rvm/gems/ruby-2.0.0-p481@rails_4_0/gems/rake-10.3.2/lib/rake/task.rb:235:in > > `execute' > > /Users/dalecooper/.rvm/gems/ruby-2.0.0-p481@rails_4_0/gems/rake-10.3.2/lib/rake/task.rb:179:in > > `block in invoke_with_call_chain' > > /Users/dalecooper/.rvm/rubies/ruby-2.0.0-p481/lib/ruby/2.0.0/monitor.rb:211:in > > `mon_synchronize' > > /Users/dalecooper/.rvm/gems/ruby-2.0.0-p481@rails_4_0/gems/rake-10.3.2/lib/rake/task.rb:172:in > > `invoke_with_call_chain' > > /Users/dalecooper/.rvm/gems/ruby-2.0.0-p481@rails_4_0/gems/rake-10.3.2/lib/rake/task.rb:201:in > > `block in invoke_prerequisites' > > /Users/dalecooper/.rvm/gems/ruby-2.0.0-p481@rails_4_0/gems/rake-10.3.2/lib/rake/task.rb:199:in > > `each' > > /Users/dalecooper/.rvm/gems/ruby-2.0.0-p481@rails_4_0/gems/rake-10.3.2/lib/rake/task.rb:199:in > > `invoke_prerequisites' > > /Users/dalecooper/.rvm/gems/ruby-2.0.0-p481@rails_4_0/gems/rake-10.3.2/lib/rake/task.rb:178:in > > `block in invoke_with_call_chain' > > /Users/dalecooper/.rvm/rubies/ruby-2.0.0-p481/lib/ruby/2.0.0/monitor.rb:211:in > > `mon_synchronize' > > /Users/dalecooper/.rvm/gems/ruby-2.0.0-p481@rails_4_0/gems/rake-10.3.2/lib/rake/task.rb:172:in > > `invoke_with_call_chain' > > /Users/dalecooper/.rvm/gems/ruby-2.0.0-p481@rails_4_0/gems/rake-10.3.2/lib/rake/task.rb:165:in > > `invoke' > > /Users/dalecooper/.rvm/gems/ruby-2.0.0-p481@rails_4_0/gems/activerecord-4.0.8/lib/active_record/railties/databases.rake:371:in > > `block (3 levels) in <top (required)>' > > /Users/dalecooper/.rvm/gems/ruby-2.0.0-p481@rails_4_0/gems/rake-10.3.2/lib/rake/task.rb:240:in > > `call' > > /Users/dalecooper/.rvm/gems/ruby-2.0.0-p481@rails_4_0/gems/rake-10.3.2/lib/rake/task.rb:240:in > > `block in execute' > > /Users/dalecooper/.rvm/gems/ruby-2.0.0-p481@rails_4_0/gems/rake-10.3.2/lib/rake/task.rb:235:in > > `each' > > /Users/dalecooper/.rvm/gems/ruby-2.0.0-p481@rails_4_0/gems/rake-10.3.2/lib/rake/task.rb:235:in > > `execute' > > /Users/dalecooper/.rvm/gems/ruby-2.0.0-p481@rails_4_0/gems/rake-10.3.2/lib/rake/task.rb:179:in > > `block in invoke_with_call_chain' > > /Users/dalecooper/.rvm/rubies/ruby-2.0.0-p481/lib/ruby/2.0.0/monitor.rb:211:in > > `mon_synchronize' > > /Users/dalecooper/.rvm/gems/ruby-2.0.0-p481@rails_4_0/gems/rake-10.3.2/lib/rake/task.rb:172:in > > `invoke_with_call_chain' > > /Users/dalecooper/.rvm/gems/ruby-2.0.0-p481@rails_4_0/gems/rake-10.3.2/lib/rake/task.rb:201:in > > `block in invoke_prerequisites' > > /Users/dalecooper/.rvm/gems/ruby-2.0.0-p481@rails_4_0/gems/rake-10.3.2/lib/rake/task.rb:199:in > > `each' > > /Users/dalecooper/.rvm/gems/ruby-2.0.0-p481@rails_4_0/gems/rake-10.3.2/lib/rake/task.rb:199:in > > `invoke_prerequisites' > > /Users/dalecooper/.rvm/gems/ruby-2.0.0-p481@rails_4_0/gems/rake-10.3.2/lib/rake/task.rb:178:in > > `block in invoke_with_call_chain' > > /Users/dalecooper/.rvm/rubies/ruby-2.0.0-p481/lib/ruby/2.0.0/monitor.rb:211:in > > `mon_synchronize' > > /Users/dalecooper/.rvm/gems/ruby-2.0.0-p481@rails_4_0/gems/rake-10.3.2/lib/rake/task.rb:172:in > > `invoke_with_call_chain' > > /Users/dalecooper/.rvm/gems/ruby-2.0.0-p481@rails_4_0/gems/rake-10.3.2/lib/rake/task.rb:165:in > > `invoke' > > /Users/dalecooper/.rvm/gems/ruby-2.0.0-p481@rails_4_0/gems/rake-10.3.2/lib/rake/application.rb:150:in > > `invoke_task' > > /Users/dalecooper/.rvm/gems/ruby-2.0.0-p481@rails_4_0/gems/rake-10.3.2/lib/rake/application.rb:106:in > > `block (2 levels) in top_level' > > /Users/dalecooper/.rvm/gems/ruby-2.0.0-p481@rails_4_0/gems/rake-10.3.2/lib/rake/application.rb:106:in > > `each' > > /Users/dalecooper/.rvm/gems/ruby-2.0.0-p481@rails_4_0/gems/rake-10.3.2/lib/rake/application.rb:106:in > > `block in top_level' > > /Users/dalecooper/.rvm/gems/ruby-2.0.0-p481@rails_4_0/gems/rake-10.3.2/lib/rake/application.rb:115:in > > `run_with_threads' > > /Users/dalecooper/.rvm/gems/ruby-2.0.0-p481@rails_4_0/gems/rake-10.3.2/lib/rake/application.rb:100:in > > `top_level' > > /Users/dalecooper/.rvm/gems/ruby-2.0.0-p481@rails_4_0/gems/rake-10.3.2/lib/rake/application.rb:78:in > > `block in run' > > /Users/dalecooper/.rvm/gems/ruby-2.0.0-p481@rails_4_0/gems/rake-10.3.2/lib/rake/application.rb:176:in > > `standard_exception_handling' > > /Users/dalecooper/.rvm/gems/ruby-2.0.0-p481@rails_4_0/gems/rake-10.3.2/lib/rake/application.rb:75:in > > `run' > > /Users/dalecooper/.rvm/gems/ruby-2.0.0-p481@rails_4_0/gems/rake-10.3.2/bin/rake:33:in > > `<top (required)>' > /Users/dalecooper/.rvm/gems/ruby-2.0.0-p481@rails_4_0/bin/rake:23:in > `load' > /Users/dalecooper/.rvm/gems/ruby-2.0.0-p481@rails_4_0/bin/rake:23:in > `<main>' > > /Users/dalecooper/.rvm/gems/ruby-2.0.0-p481@rails_4_0/bin/ruby_executable_hooks:15:in > > `eval' > > /Users/dalecooper/.rvm/gems/ruby-2.0.0-p481@rails_4_0/bin/ruby_executable_hooks:15:in > > `<main>' > > `Tasks: TOP => db:test:load => db:test:purge` > > > > Here is what my test environment looks like (according to my gemfile): > > gem 'rails', '4.0.8' > gem 'pg', '0.15.1' > > group :development, :test do > gem 'rspec-rails', '2.13.1' > end > > > group :test do > gem 'selenium-webdriver', '2.35.1' > gem 'capybara', '2.1.0' > end > > > and here is what my *database.yml *file looks like : > > development: > adapter: postgresql > endoding: unicode > database: myapp_development > pool: 5 > timeout: 5000 > hostname: localhost > > > test: > adapter: postgresql > endoding: unicode > database: myapp_test > pool: 5 > timeout: 5000 > hostname: localhost > > > production: > adapter: postgresql > database: myapp_production > pool: 5 > timeout: 5000 >
First, the correct syntax to run the above command is: *bin/rake db:test:prepare (depending on your installation, you should run it as bundle exec rake db:test:prepare)* and r*ake test:prepare *as you stated You can also use: rake db:setup It will create the database, load the schema and initialize it with the seed. -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/3203460a-7988-495e-b5da-5ff21754d43a%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.

