Zainstalowałem PostgreSQL (9.2.4) i mam problem z przywróceniem ustawień z Rails 3.2.11. Zrobiłem:Postgres on Rails FATAL: baza danych nie istnieje
brew install postgresql
initdb /usr/local/var/postgres
pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start
Więc teraz mam
$ psql --version
psql (PostgreSQL) 9.2.4
$ which psql
/usr/local/bin/psql
Mój plik database.yml wygląda
development:
adapter: postgresql
encoding: unicode
database: myapp_development
pool: 5
username: Tyler
password:
host: localhost
port: 5432
A kiedy biegnę rake db:create:all
rake db:migrate
I wtedy pojawia się błąd:
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
Próbowałem usunąć wszystko, co było związane z przeszłością bazy danych, migracjami itp.
Usunąłem plik schema.rb, seed.rb i wszystkie pliki w folderze migracji i wszystko inne, co mogę wymyślić. Ale błąd odnoszący się do "postów" sprawia, że myślę, że wciąż jest jakieś stare odniesienie do mojej wcześniejszej bazy danych (która miała tabelkę zwaną "posty").
Czy ktoś wie, jak rozwiązać ten problem podczas próby ponownej instalacji/odświeżenia mojej bazy danych?
Wygląda na to, że twoje pliki migracji nie są spójne. Czy na pewno tworzysz "posty" przed odniesieniem do niego? – iltempo
Próbowałem umieszczać tylko pierwszy plik migracji w folderze migracji (który nie odwołuje się do wpisów w dowolnym miejscu) i nadal mam problem. Próbowałem również usunąć WSZYSTKIE pliki migracji, a nadal otrzymuję komunikat ... – tyler
Czy "rake db: drop: all' help? – iltempo