自从我部署在Heroku上并希望匹配生产以来,我最近切换到了postgres for rails应用程序。当我将数据库名称设置为'postgres'时,Postgres已安装并正常运行,我的理解是默认名称。
但是,我想更改开发,测试和生产的数据库名称。如果我只是更改database.yml中的名称,并尝试运行rake任务,我的终端中会出现以下错误:
NOTICE: database "something_development" does not exist, skipping
Couldn't drop something_test : #<PG::Error: could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/var/pgsql_socket/.s.PGSQL.5432"?>
rake aborted!
FATAL: database "something_development" does not exist
这是我的database.yml文件当前的样子:
development:
adapter: postgresql
host: localhost
database: something_development
username: name
test:
adapter: postgresql
database: something_test
pool: 5
timeout: 5000
production:
adapter: postgresql
host: localhost
username: name
database: something_production
我还缺少其他一些步骤吗?如果我遗漏了明显的东西,请道歉!谢谢!
答案 0 :(得分:3)
更改database.yml
文件中的名称只会更改它查找数据库的位置,它实际上不会重命名数据库本身。如果更改指定位置,则需要使用GUI工具(如navicat或pgadmin)或command line重命名数据库以匹配。
此外,它可能是一个混淆遗漏,但您发布的输出指的是shredset_development
和something_development
。如果这种情况继续失败,也许可以确认你的所有名字都是一样的......