Ich habe Postgres (9.2.4) neu installiert und habe Probleme, es mit Rails 3.2.11 wiederherzustellen. Ich tat:
brew install postgresql
initdb /usr/local/var/postgres
pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start
So jetzt habe ich
$ psql --version
psql (PostgreSQL) 9.2.4
$ which psql
/usr/local/bin/psql
Meine database.yml-Datei sieht folgendermaßen aus
development:
adapter: postgresql
encoding: unicode
database: myapp_development
pool: 5
username: Tyler
password:
Host: localhost
port: 5432
Und wenn ich rake db:create:all
dann rake db:migrate
starte, erhalte ich die Fehlermeldung:
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
Ich habe versucht, alles zu löschen, was sich auf vergangene Datenbanken, Migrationen usw. bezieht.
Ich habe die schema.rb, die seed.rb und alle Dateien im Migrationsordner gelöscht und alles, was mir sonst noch einfällt. Der Fehler bei "posts" lässt mich jedoch vermuten, dass es immer noch einen alten Verweis auf meine frühere Datenbank gibt (die eine Tabelle namens "posts" hatte).
Kann jemand diesen Fehler beheben, wenn ich meine Datenbank vollständig neu installieren/aktualisieren möchte?
Ich hatte ein ähnliches Problem ... Ich habe verschiedene Websites überprüft und ausprobiert, was sie vorgeschlagen haben, aber nicht funktioniert haben. Dann habe ich versucht, was Sie vorschlugen .rake db:create:all
undrake db:migrate
arbeitete für mich Vielen Dank!
Sie müssen zuerst die Datenbanken erstellen. Führen Sie rake db: create: all aus
Stellen Sie außerdem sicher, dass Ihre Yml-Datei für Postgres korrekt eingerichtet ist.
db:create:all
und db:migrate
funktionierten zuerst nicht für mich ..__ Ich änderte meinen Datenbanknamen von development.pg
in developmentpg
in myapp/config/database.yml
-Datei:
datenbank: db/developmentpg
und dannrake db:create:all
undrake db:migrate
, hat es für mich funktioniert.
Vielen Dank
Ich habe versucht, rake db: create: all auszuführen, was nicht funktioniert hat. Bündel Exec Rake db: create: all arbeitete für mich.
Hoffe das hilft!