20

私はPostgres(9.2.4)を再インストールしましたが、Rails 3.2.11でバックアップを設定するのに問題があります。私がやった:Postgres on Rails致命的:データベースが存在しません

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:migraterake db:create:allを実行すると、私はエラーを取得:

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 

過去のdb、マイグレーションなどに関するすべてをクリアしようとしました。

私はmigrationsフォルダ内のschema.rb、seed.rb、およびすべてのファイルを削除しました。しかし、「投稿」を参照するエラーは、私の以前のデータベース(「投稿」という表がある)にまだいくつかの古い参照があると思うようになります。

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

+0

これは、移行ファイルが一貫していないように思えます。それを参照する前に 'posts'を作成していますか? – iltempo

+0

私は最初のマイグレーションファイルだけをマイグレーションフォルダー(どこにでも投稿を参照しない)に入れてみましたが、まだ問題があります。私はまたすべての移行ファイルを削除しようとしましたが、私はまだメッセージを受け取ります... – tyler

+0

'rake db:drop:all'は役に立ちますか? – iltempo

答えて

53

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

+0

はチャームのように働いた!!私はバンドルのエグゼクティブを忠告するまで、これは私にはうまくいきませんでした.Dのおかげで、 – userRandom

+2

'bundle exec rake db:create:all'を実行します。ありがとう! – acrogenesis

3

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

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

2

db:create:alldb:migrateは私にとっては最初に機能しませんでした。 私はmyapp/config/database.ymlファイルにdevelopmentpgdevelopment.pgから自分のデータベース名を変更:

database: db/developmentpg

、その後rake db:create:allrake db:migrateは、それは私のために働きました。作成:すべて、動作しませんでした

は、私がすくいデシベルを実行しようとしたあなたに

0

ありがとうございます。 しかし、 バンドルexec rake dbを実行しています:作成:すべて 私のために働いた。

希望すると便利です。

関連する問題