概要
Railsのアプリを作りました。
Herokuに載せる前にまずはローカルでDBを「sqlite3」から「Postgresql」に変更したいと思っていますが上手くいきません。
環境
ruby 2.6.6
Rails 6.0.3
Windows 10
#やったこと
①以下のようにGemfileの「gem 'sqlite3'」をコメントアウトし、「gem 'pg'」を追加
#gem 'sqlite3' gem 'pg'
②「bundle install」を実行
結果
サーバーを起動して画面を開こうとすると下記エラーが発生。
ActiveRecord::ConnectionNotEstablished No connection pool with 'primary' found.
補足
「database.yml」の設定値は以下の通りです。
# SQLite version 3.x # gem install sqlite3 # # Ensure the SQLite 3 gem is defined in your Gemfile # gem 'sqlite3' # default: &default adapter: sqlite3 pool: 5 timeout: 5000 development: <<: *default database: db/development.sqlite3 # Warning: The database defined as "test" will be erased and # re-generated from your development database when you run "rake". # Do not set this db to the same as development or production. test: <<: *default database: db/test.sqlite3 production: <<: *default database: db/production.sqlite3
追記
ご回答いただき、下記3つの対応を行いましたが未だに上手くいきません。。
①PostgreSQLのインストールを実施
②database.ymlを以下のように修正
databaseyml
1# SQLite version 3.x 2# gem install sqlite3 3# 4# Ensure the SQLite 3 gem is defined in your Gemfile 5# gem 'sqlite3' 6# 7default: &default 8 adapter: postgresql 9 pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %> 10 timeout: 5000 11 12development: 13 <<: *default 14 database: appname_development 15 16# Warning: The database defined as "test" will be erased and 17# re-generated from your development database when you run "rake". 18# Do not set this db to the same as development or production. 19test: 20 <<: *default 21 database: appname_test 22 23production: 24 <<: *default 25 database: appname_production 26 username: appname 27 password: <%= ENV['APPNAME_DATABASE_PASSWORD'] %>
・PostgreSQL\12\data\pg_hba.conf」を以下のように修正
before
1# IPv4 local connections: 2host all all 127.0.0.1/32 md5 3# IPv6 local connections: 4host all all ::1/128 md5 5# Allow replication connections from localhost, by a user with the 6# replication privilege. 7host replication all 127.0.0.1/32 md5 8host replication all ::1/128 md5
after
1# IPv4 local connections: 2host all all 127.0.0.1/32 trust 3# IPv6 local connections: 4host all all ::1/128 trust 5# Allow replication connections from localhost, by a user with the 6# replication privilege. 7host replication all 127.0.0.1/32 trust 8host replication all ::1/128 trust
上記の対応を行い、再実施したところ、以下のエラーが発生しました。
ConnectionBad
1fe_sendauth: no password supplied
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/13 12:30
2020/05/21 12:32
2020/05/23 11:44
2020/05/23 11:51