database.yml文件配置和postgres - rake db:drop db:create db:migrate

时间:2012-12-06 00:12:30

标签: ruby-on-rails postgresql

自从我部署在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

我还缺少其他一些步骤吗?如果我遗漏了明显的东西,请道歉!谢谢!

1 个答案:

答案 0 :(得分:3)

更改database.yml文件中的名称只会更改它查找数据库的位置,它实际上不会重命名数据库本身。如果更改指定位置,则需要使用GUI工具(如navicatpgadmin)或command line重命名数据库以匹配。

此外,它可能是一个混淆遗漏,但您发布的输出指的是shredset_developmentsomething_development。如果这种情况继续失败,也许可以确认你的所有名字都是一样的......