繁体   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