web-dev-qa-db-ja.com

Postgres on Rails FATAL:データベースは存在しません

Postgres(9.2.4)を再インストールしましたが、Rails 3.2.11。で設定し直すのに問題があります。

brew install postgresql
initdb /usr/local/var/postgres
pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start

だから今私は持っています

$ psql --version
psql (PostgreSQL) 9.2.4
$ which psql
/usr/local/bin/psql

私のdatabase.ymlファイルは次のようになります

development:
  adapter: postgresql
  encoding: unicode
  database: myapp_development
  pool: 5
  username: Tyler
  password:
  Host: localhost
  port: 5432

そして、rake db:create:allその後rake db:migrateエラーが表示されます。

PG::Error: ERROR:  relation "posts" does not exist
LINE 5:              WHERE a.attrelid = '"posts"'::regclass
                                    ^
:         SELECT a.attname, format_type(a.atttypid, a.atttypmod),
                 pg_get_expr(d.adbin, d.adrelid), a.attnotnull, a.atttypid, a.atttypmod
          FROM pg_attribute a LEFT JOIN pg_attrdef d
            ON a.attrelid = d.adrelid AND a.attnum = d.adnum
         WHERE a.attrelid = '"posts"'::regclass
           AND a.attnum > 0 AND NOT a.attisdropped
         ORDER BY a.attnum

過去のデータベース、移行などに関連するすべてを消去しようとしました。

Schema.rb、seed.rb、およびmigrationsフォルダー内のすべてのファイル、および考えられるその他すべてのファイルを削除しました。しかし、「投稿」に関するエラーは、以前のデータベース(「投稿」と呼ばれるテーブルを持っていた)への古い参照がまだあると思わせます。

データベースを完全に再インストール/更新しようとすると、このエラーをトラブルシューティングする方法を知っていますか?

28
Tyler

私は同様の問題を抱えていました。私はさまざまなウェブサイトをチェックし、彼らが提案したものを試しましたが、うまくいきませんでした。それから私はあなたが提案したことを試みた。 rake db:create:allおよびrake db:migrateそれは私のために働いた。ありがとうございました!

64
user3112576

最初にデータベースを作成する必要があります。 rake db:create:allを実行します

また、ymlファイルがpostgres用に正しく設定されていることを確認してください。

4
user2329711

Rake db:create:allを実行してみましたが、うまくいきませんでした。ただし、bundle exec rake db:create:allを実行するとうまくいきました。

お役に立てれば!

0
remi466