38

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:allrake 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 フォルダー内のすべてのファイルと、他に考えられるものはすべて削除しました。しかし、「投稿」を参照するエラーは、以前のデータベース (「投稿」というテーブルがあった) への古い参照がまだあると思わせます。

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

4

4 に答える 4

2

db:create:all最初はうまくいきdb:migrateませんでした。データベース名をファイル内で次のように変更development.pgしましdevelopmentpgた。myapp/config/database.yml

データベース: db/developmentpg

そしてrake db:create:allrake db:migrateそれは私にとってはうまくいきました。

ありがとうございました

于 2015-05-09T13:42:46.643 に答える
0

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

お役に立てれば!

于 2017-01-04T10:51:11.890 に答える