无法为Rails应用创建生产数据库

时间:2016-06-14 04:03:37

标签: ruby-on-rails postgresql

我正在尝试使用Postgresql在生产模式下为我的Rails应用创建数据库。

当我运行命令时:

$ RAILS_ENV=production rake db:create

我收到以下错误:

FATAL:  database "postgres" does not exist
Couldn't create database for {"adapter"=>"postgresql", "encoding"=>"unicode", "host"=>"localhost", "database"=>"provenword", "pool"=>5, "username"=>"postgres", "password"=>"password"}

我可以为我拥有的旧Rails应用程序创建数据库。但是,只有这一个给了我这个错误。我怎样才能使这个工作,所以我可以创建数据库并运行应用程序?

宝石文件:

..
    gem 'pg'
..

Rails版本 - 4.2.6

数据库YML

#
default: &default
  adapter: sqlite3
  pool: 5
  timeout: 5000

# default: &default
# user: postgres
# password: password
# pool: 5
# timeout: 5000



development:
  <<: *default
  database: db/development.sqlite3

# Warning: The database defined as "test" will be erased and
# re-generated from your development database when you run "rake".
# Do not set this db to the same as development or production.
test:
  <<: *default
  database: db/test.sqlite3

production:
  adapter: postgresql
  encoding: unicode
  host: localhost
  database: provenword
  pool: 5
  username: postgres
  password: password

Postgresql安装在我的服务器上。

1 个答案:

答案 0 :(得分:0)

感谢@Dharam。

它也为我工作:

  

我相信postgresql期望一个与用户同名的数据库   名称,在您的情况下postgres,存在。首先使用。设置数据库   名称postgres,然后您可以运行RAILS_ENV=production rake db:create