我正在尝试使用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安装在我的服务器上。
答案 0 :(得分:0)
感谢@Dharam。
它也为我工作:
我相信
postgresql
期望一个与用户同名的数据库 名称,在您的情况下postgres
,存在。首先使用。设置数据库 名称postgres
,然后您可以运行RAILS_ENV=production rake db:create