[英]How to fix FATAL: database “school-grades-project” does not exist
我正在將 SQLite3 升級到 PostgreSQL,以便可以將其部署到 Heroku。
我還必須在哪里表明數據庫的名稱是 our-school-project?
這是我的 database.yml 文件:
default: &default
adapter: postgresql
encoding: unicode
# For details on connection pooling, see Rails configuration guide
# http://guides.rubyonrails.org/configuring.html#database-pooling
pool: 5
timeout: 5000
development:
<<: *default
database: school-grades-project
host: localhost
test:
<<: *default
database: grades_test
host: localhost
production:
<<: *default
database: grades_production
當我發出:
$ rake db:migrate
我得到:
rake aborted!
ActiveRecord::NoDatabaseError: FATAL: database "school-grades-project" does not exist
/Users/saraginsburg/.rvm/gems/ruby-2.7.0/gems/activerecord-6.0.3/lib/active_record/connection_adapters/postgresql_adapter.rb:50:in `rescue in postgresql_connection'
/Users/saraginsburg/.rvm/gems/ruby-2.7.0/gems/activerecord-6.0.3/lib/active_record/connection_adapters/postgresql_adapter.rb:33:in `postgresql_connection'
/Users/saraginsburg/.rvm/gems/ruby-2.7.0/gems/activerecord-6.0.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:887:in `new_connection'
/Users/saraginsburg/.rvm/gems/ruby-2.7.0/gems/activerecord-6.0.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:931:in `checkout_new_connection'
/Users/saraginsburg/.rvm/gems/ruby-2.7.0/gems/activerecord-6.0.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:910:in `try_to_checkout_new_connection'
/Users/saraginsburg/.rvm/gems/ruby-2.7.0/gems/activerecord-6.0.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:871:in `acquire_connection'
/Users/saraginsburg/.rvm/gems/ruby-2.7.0/gems/activerecord-6.0.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:593:in `checkout'
/Users/saraginsburg/.rvm/gems/ruby-2.7.0/gems/activerecord-6.0.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:437:in `connection'
/Users/saraginsburg/.rvm/gems/ruby-2.7.0/gems/activerecord-6.0.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:1119:in `retrieve_connection'
/Users/saraginsburg/.rvm/gems/ruby-2.7.0/gems/activerecord-6.0.3/lib/active_record/connection_handling.rb:221:in `retrieve_connection'
/Users/saraginsburg/.rvm/gems/ruby-2.7.0/gems/activerecord-6.0.3/lib/active_record/connection_handling.rb:189:in `connection'
/Users/saraginsburg/.rvm/gems/ruby-2.7.0/gems/activerecord-6.0.3/lib/active_record/tasks/database_tasks.rb:238:in `migrate'
/Users/saraginsburg/.rvm/gems/ruby-2.7.0/gems/activerecord-6.0.3/lib/active_record/railties/databases.rake:86:in `block (3 levels) in <main>'
/Users/saraginsburg/.rvm/gems/ruby-2.7.0/gems/activerecord-6.0.3/lib/active_record/railties/databases.rake:84:in `each'
/Users/saraginsburg/.rvm/gems/ruby-2.7.0/gems/activerecord-6.0.3/lib/active_record/railties/databases.rake:84:in `block (2 levels) in <main>'
/Users/saraginsburg/.rvm/gems/ruby-2.7.0/bin/ruby_executable_hooks:24:in `eval'
/Users/saraginsburg/.rvm/gems/ruby-2.7.0/bin/ruby_executable_hooks:24:in `<main>'
Caused by:
PG::ConnectionBad: FATAL: database "school-grades-project" does not exist
/Users/saraginsburg/.rvm/gems/ruby-2.7.0/gems/pg-1.2.3/lib/pg.rb:58:in `initialize'
/Users/saraginsburg/.rvm/gems/ruby-2.7.0/gems/pg-1.2.3/lib/pg.rb:58:in `new'
/Users/saraginsburg/.rvm/gems/ruby-2.7.0/gems/pg-1.2.3/lib/pg.rb:58:in `connect'
/Users/saraginsburg/.rvm/gems/ruby-2.7.0/gems/activerecord-6.0.3/lib/active_record/connection_adapters/postgresql_adapter.rb:46:in `postgresql_connection'
/Users/saraginsburg/.rvm/gems/ruby-2.7.0/gems/activerecord-6.0.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:887:in `new_connection'
/Users/saraginsburg/.rvm/gems/ruby-2.7.0/gems/activerecord-6.0.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:931:in `checkout_new_connection'
/Users/saraginsburg/.rvm/gems/ruby-2.7.0/gems/activerecord-6.0.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:910:in `try_to_checkout_new_connection'
/Users/saraginsburg/.rvm/gems/ruby-2.7.0/gems/activerecord-6.0.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:871:in `acquire_connection'
/Users/saraginsburg/.rvm/gems/ruby-2.7.0/gems/activerecord-6.0.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:593:in `checkout'
/Users/saraginsburg/.rvm/gems/ruby-2.7.0/gems/activerecord-6.0.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:437:in `connection'
/Users/saraginsburg/.rvm/gems/ruby-2.7.0/gems/activerecord-6.0.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:1119:in `retrieve_connection'
/Users/saraginsburg/.rvm/gems/ruby-2.7.0/gems/activerecord-6.0.3/lib/active_record/connection_handling.rb:221:in `retrieve_connection'
/Users/saraginsburg/.rvm/gems/ruby-2.7.0/gems/activerecord-6.0.3/lib/active_record/connection_handling.rb:189:in `connection'
/Users/saraginsburg/.rvm/gems/ruby-2.7.0/gems/activerecord-6.0.3/lib/active_record/tasks/database_tasks.rb:238:in `migrate'
/Users/saraginsburg/.rvm/gems/ruby-2.7.0/gems/activerecord-6.0.3/lib/active_record/railties/databases.rake:86:in `block (3 levels) in <main>'
/Users/saraginsburg/.rvm/gems/ruby-2.7.0/gems/activerecord-6.0.3/lib/active_record/railties/databases.rake:84:in `each'
/Users/saraginsburg/.rvm/gems/ruby-2.7.0/gems/activerecord-6.0.3/lib/active_record/railties/databases.rake:84:in `block (2 levels) in <main>'
/Users/saraginsburg/.rvm/gems/ruby-2.7.0/bin/ruby_executable_hooks:24:in `eval'
/Users/saraginsburg/.rvm/gems/ruby-2.7.0/bin/ruby_executable_hooks:24:in `<main>'
Tasks: TOP => db:migrate
(See full trace by running task with --trace)
有沒有人有什么建議?
嘗試rails db:create
,這將起作用。
1)寶石文件:
gem 'pg', '>= 0.18', '< 2.0'
2)在您的開發環境中安裝 pg
3)database.yml 示例:
default: &default
adapter: postgresql
encoding: unicode
# For details on connection pooling, see Rails configuration guide
# https://guides.rubyonrails.org/configuring.html#database-pooling
pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
development:
<<: *default
database: corsego_development
test:
<<: *default
database: corsego_test
production:
<<: *default
database: corsego_production
username: corsego
password: <%= ENV['corsego_DATABASE_PASSWORD'] %>
4)
bundle
bundle update
rails db:create db:migrate
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.