Postgres on Rails FATAL: база данных не существует
Я переустановил 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:all
затем rake 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 и все файлы в папке миграций и все, что только могу придумать. Но ошибка со ссылкой на "сообщения" заставляет меня думать, что все еще есть старая ссылка на мою предыдущую базу данных (в которой была таблица "сообщения").
Кто-нибудь знает, как устранить эту ошибку, при попытке полностью переустановить / обновить мою базу данных?
4 ответа
У меня была похожая проблема. Я проверил разные сайты и попробовал то, что они предложили, но не сработало. Тогда я попробовал то, что вы предложили. rake db:create:all
а также rake db:migrate
это сработало для меня. Спасибо!
Вам нужно сначала создать базы данных. Запустим грабли в db:create:all
Также убедитесь, что ваш yml-файл правильно настроен для postgres.
db:create:all
а также db:migrate
у меня не сработало Я изменил имя моей базы данных с development.pg
в developmentpg
в myapp/config/database.yml
файл:
база данных: db/developmentpg
а потом rake db:create:all
а также rake db:migrate
, это сработало для меня.
Спасибо
Я попытался запустить rake db:create: все, что не сработало. Однако, работает bundle exec rake db:create: у меня все заработало.
Надеюсь это поможет!