Я использую Heroku для своего приложения, и для него требуется PostgreSQL, но вы все равно можете использовать SQLite3 для разработки. Поскольку Heroku настоятельно рекомендовал не иметь 2 разных баз данных, я решил перейти на PostgreSQL для разработки. Я установил gem pg
, а также отправился на официальный сайт PostgreSQL, чтобы получить установщик Windows, а также изменил мой database.yml
. Во время установки он требует пароль для PostgreSQL, поэтому я его создал.
Мне пришлось изменить файл pg_hba.conf
с помощью md5
на trust
, чтобы пройти мимо: fe_sendauth: no password supplied
при попытке создать базу данных.
# TYPE DATABASE USER ADDRESS METHOD
# IPv4 local connections:
host all all 127.0.0.1/32 trust # was md5
# IPv6 local connections:
host all all ::1/128 trust # was md5
# Allow replication connections from localhost, by a user with the
# replication privilege.
#host replication postgres 127.0.0.1/32 trust
#host replication postgres ::1/128 trust
После избавления от этого, теперь я получаю следующее:
$ rake db:create
(in C:/app)
FATAL: role "User" does not exist
Couldn't create database for {"adapter"=>"postgresql", "encoding"=>"utf8",
"database"=>"app_test", "pool"=>5, "username"=>nil, "password"=>nil}
У меня все еще есть мои development.sqlite3
и text.sqlite3
present, может быть, проблема? Что нужно сделать?
Вот мой полный смысл: https://gist.github.com/1522188