質問: Rails試作アプリのHerokuデプロイに関して、データベース周りの質問です。 アプリの作成、デプロイ自体が初めてなので、色々手探り状態で進めています。 Localでの開発段階(developmentやtest環境)ではRailsアプリに最初からついているSQLite3というのを使っていたのですが、本番(デプロイ先のHeroku、production環境)ではPostgreSQLというデータベースが最初からインストールされているので、その環境に合うように Gemfile や config/database.yml 等を変更しました。 その後、基本的な手順通りにデプロイ作業を進め、無事デプロイは完了。 > > $ heroku open > > > のコマンド入力(あるいはHerokuのサイトからのOpen app)でアプリを開いて、トップページがちゃんと表示されます。 しかし、開発段階で入力したデータ(本のタイトルや値段を載せたリスト)が表示されません。 つまりは、HTMLやCSSで記入している箇所は問題なく表示されているのですが、データベースに入れた情報(コントローラーでいうnewやcreateで入れた部分??)が一切表示されません。 おそらくデータベースがHeroku上に?更新されていないのかと思いますが、上述した通り、データベースは本番環境のPostgreSQLに合わせたはずです。何が原因でしょうか? 以下の記事をもとに、データベースを本番環境のPostgreSQLに合わせました。 参考:【初心者向け】railsアプリをherokuを使って確実にデプロイする方法【決定版】 以下のコマンドは実施済みです。 > > $ git add . > > $ git commit -m "update" > > $ git push heroku master > > $ heroku run rails db:migrate > > > Heroku側のデータベースはHobby devとかいう無料版のやつ(デフォルト)です。 質問をお読みいただき、知識の浅い初心者であることはお分かりいただけているかと思います。 回答に必要な追加の情報がありましたら(たくさんあると思いますが)おっしゃってください。
回答: 開発環境のデータベースと本番環境のデータベースは別物です ついでにテスト環境のデータベースも別物です 本番環境には本番環境用のデータを新しく投入してください