Postgres sur Rails FATAL: la base de données n'existe pas

j'ai réinstallé Postgres (9.2.4) et j'ai du mal à le remettre en place avec les Rails 3.2.11. J'ai fait:

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

alors maintenant j'ai

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

Ma base de données.fichier yml ressemble

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

Et quand je lance rake db:create:allrake db:migrate j'obtiens l'erreur:

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

j'ai essayé d'effacer tout ce qui concerne le passé db, les migrations, etc.

j'ai supprimé le schéma.rb, de la graine.rb, et tous les fichiers du dossier migrations, et autre chose que je peux penser. Mais l'erreur concernant les " posts "me fait penser qu'il y a encore une vieille référence à ma base de données précédente (qui avait un tableau appelé"posts").

est-ce que quelqu'un sait comment résoudre cette erreur, en essayant de réinstaller complètement/rafraîchir ma base de données?

23
demandé sur tyler 2013-07-30 00:25:00

4 réponses

j'avais un problème similaire. J'ai vérifié différents sites Web et essayé ce qu'ils ont suggéré mais ça n'a pas marché. Ensuite, j'ai essayé ce que vous avez suggéré. rake db:create:all et rake db:migrate il a travaillé pour moi. Je vous remercie!

56
répondu user3112576 2013-12-17 19:50:24

vous devez d'abord créer les bases de données. Lancer rake db:create:

assurez-vous également que votre fichier yml est configuré correctement pour postgres.

3
répondu user2329711 2013-10-29 23:17:12

db:create:all et db:migrate n'a pas fonctionné pour moi en premier. J'ai changé mon nom de base de données de development.pgdevelopmentpgmyapp/config/database.yml fichier:

base de données: db / developmentpg

et rake db:create:all et rake db:migrate, ça a marché pour moi.

Merci

2
répondu N. S. 2018-02-14 10:20:16

j'ai essayé d'exécuter rake db: create: all, ce qui n'a pas fonctionné. Toutefois, l'exécution de bundle exec rake db: create: tous a travaillé pour moi.

Espérons que cette aide!

0
répondu remi466 2017-01-04 10:51:11