簡體   English   中英

如何修復 FATAL:數據庫“school-grades-project”不存在

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM