Ответ
@ praaveen абсолютно правильный, но просто чтобы немного расширить его, поскольку его фрагмент database.yml
был просто релевантным подмножеством, а не полным. В config/database.yml
вы указываете конфигурацию базы данных для каждой среды (dev, test, prod). Эта конфигурация также зависит от типа базы данных, и, в частности, при переходе с Sqlite3 на Postgres вам необходимо изменить имена базы данных и добавить имя пользователя и пароль для каждой среды. Итак, database.yml
должен выглядеть примерно так:
default: &default
adapter: postgresql
pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
development:
<<: *default
database: dev-database
username: whatever
password: whatever
test:
... etc etc
Вот статья в блоге , в которой рассказывается, что вам нужно изменить, чтобы переключиться с sqlite на Postgres в существующем проекте в более пошаговая мода. Также обратите внимание, поскольку вы используете Heroku для производства, спецификация настроек базы данных работает немного иначе. См. this для описания того, как работает конфигурация Heroku PG.