前提・実現したいこと
説明たらずになってしまうかもしれませんがよろしくお願いいたします。
現在作ったアプリケーションをデプロイしようとしていますが
http://<Elastic IP>:3000/ で接続を試みたところ
We're sorry, but something went wrong. となりうまく表示できません。
cat log/unicorn.stderr.logでログを見てみると3行目で
Unknown database 'picsta_production' (ActiveRecord::NoDatabaseError)が出てました。
データベースは作ったはずでしたが、見つからないみたいなのでもう一度
[ec2-user@ip-172-31-23-189 <リポジトリ名>]$ rails db:create RAILS_ENV=production
を実行して作り直しましたら、Database 'picsta_production' already existsと出たのでDBは作られていると思います。
[ec2-user@ip-172-31-23-189 <リポジトリ名>]$ rails db:migrate RAILS_ENV=production
も実行しました。
database.ymlも確認しましたが特に間違っているところはなさそうでした。
SECRET_KEY_BASEとDATABASE_PASSWORDの設定も確認しましたが大丈夫そうです。
いろいろ試してみましたが詰まってしまいました。
よろしくお願いします。
発生している問題・エラーメッセージ
cat log/unicorn.stderr.log I, [2020-06-26T14:54:25.864732 #22376] INFO -- : Refreshing Gem list I, [2020-06-26T14:54:28.143514 #22376] INFO -- : listening on addr=0.0.0.0:3000 fd=9 E, [2020-06-26T14:54:28.155069 #22376] ERROR -- : Unknown database 'picsta_production' (ActiveRecord::NoDatabaseError) /home/ec2-user/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/activerecord-5.2.4.3/lib/active_record/connection_adapters/mysql2_adapter.rb:26:in `rescue in
default: &default adapter: mysql2 encoding: utf8 pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %> username: root password: socket: /tmp/mysql.sock development: <<: *default database: picsta_development # 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: picsta_test # As with config/secrets.yml, you never want to store sensitive information, # like your database password, in your source code. If your source code is # ever seen by anyone, they now have access to your database. # # Instead, provide the password as a unix environment variable when you boot # the app. Read http://guides.rubyonrails.org/configuring.html#configuring-a-database # for a full rundown on how to provide these environment variables in a # production deployment. # # On Heroku and other platform providers, you may have a full connection URL # available as an environment variable. For example: # # DATABASE_URL="mysql2://myuser:mypass@localhost/somedatabase" # # You can use this database configuration with: # # production: # url: <%= ENV['DATABASE_URL'] %> # production: <<: *default database: picsta_production username: root password: <%= ENV['DATABASE_PASSWORD'] %> socket: /var/lib/mysql/mysql.sock
あなたの回答
tips
プレビュー