4

Heroku にデプロイしたので、開発中の Rails アプリ用に postgres に最近切り替えました。データベース名を「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

私が見逃している他のステップはありますか?ここで明らかな何かが欠けている場合はお詫びします。ありがとう!

4

1 に答える 1

3

ファイル内の名前を変更してdatabase.ymlも、データベースを検索する場所が変更されるだけで、実際にデータベース自体の名前が変更されるわけではありません。指定した場所を変更する場合は、GUI ツール ( navicatpgadminなど) またはコマンド ラインを使用して、一致するようにデータベースの名前を変更する必要があります。

また、おそらく難読化の省略ですが、投稿された出力は と の両方shredset_developmentを参照していますsomething_development。これが引き続き失敗する場合は、おそらくすべての名前がどこでも同じであることを確認してください...

于 2012-12-06T00:29:19.937 に答える