I am trying to set up the project on my local on macOS Catalina 10.15.7, rails 5.2.4 and postgres 13.2.
But when I try to create database by running rake db:create
or bundle exec rake db:create
or rails db:create
, all result to same error.
error logs:
rake aborted!
ActiveRecord::NoDatabaseError: FATAL: database "scholarden_development" does not exist
/Users/saqibshahzad/.rvm/gems/ruby-2.6.3/gems/activerecord-5.2.4.1/lib/active_record/connection_adapters/postgresql_adapter.rb:696:in `rescue in connect'
/Users/saqibshahzad/.rvm/gems/ruby-2.6.3/gems/activerecord-5.2.4.1/lib/active_record/connection_adapters/postgresql_adapter.rb:691:in `connect'....
/Users/saqibshahzad/.rvm/gems/ruby-2.6.3/gems/rake-13.0.1/exe/rake:27:in `<top (required)>'
/Users/saqibshahzad/.rvm/gems/ruby-2.6.3/bin/ruby_executable_hooks:22:in `eval'
/Users/saqibshahzad/.rvm/gems/ruby-2.6.3/bin/ruby_executable_hooks:22:in `<main>'
Caused by:
PG::ConnectionBad: FATAL: database "scholarden_development" does not exist
/Users/saqibshahzad/.rvm/gems/ruby-2.6.3/gems/pg-0.21.0/lib/pg.rb:56:in `initialize'
/Users/saqibshahzad/.rvm/gems/ruby-2.6.3/gems/pg-0.21.0/lib/pg.rb:56:in `new'
/Users/saqibshahzad/.rvm/gems/ruby-2.6.3/gems/pg-0.21.0/lib/pg.rb:56:in `connect'
/Users/saqibshahzad/.rvm/gems/ruby-2.6.3/gems/activerecord-5.2.4.1/lib/active_record/connection_adapters/postgresql_adapter.rb:692:in `connect'
......5.2.4.1/lib/rails/application.rb:520:in `block in run_tasks_blocks'
/Users/saqibshahzad/.rvm/gems/ruby-2.6.3/gems/rake-13.0.1/exe/rake:27:in `<top (required)>'
/Users/saqibshahzad/.rvm/gems/ruby-2.6.3/bin/ruby_executable_hooks:22:in `eval'
/Users/saqibshahzad/.rvm/gems/ruby-2.6.3/bin/ruby_executable_hooks:22:in `<main>'
Tasks: TOP => db:create => db:load_config => environment
my database.yml
:
default: &default
adapter: postgresql
encoding: unicode
template: template0
pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
development:
<<: *default
database: scholarden_development
host: localhost
port: 5432
username: rails_dev
password: password
production:
<<: *default
database: scholarden_production
host: localhost
port: 5432
You can create the database by this command instead.
In your terminal: createdb {DB_NAME}
in your case it will be createdb scholarden_development