WEBアプリケーション

【初心者向け】Ruby on Rails webアプリ+ConohaVPS 初デプロイ(公開)の時に参考にした技術サイト

ruby_vps

【初心者向け】Ruby on Rails webアプリ+ConohaVPS 初デプロイ(公開)の時に参考にした技術サイト

はじめてConohaVPSへデプロイして、最終的な場面で本番環境でDBが反映されずめちゃくちゃ困りました。。。

今覚えば結構アホらしいのですが、初心者+独学だとなかなかわかりづらい部分だと思いますので
ここにまとめておきます!!

どんな問題が発生したのか

ローカルで作成したRuby on Rails webアプリ + DB(ローカル:sqlite3,本番:SQL)を Conoha VPS に Github + Capistrano でデプロイしていました。

実際に作成したWEBサイトをデプロイして、実際に取得したドメインで表示することまでできました!!

しかし、なぜかアカウントやDB登録内容がデプロイする度にリセットされるのです。。。。

考えたこと

・デプロイする度にDBが再作成?上書きされている?
→logを見る限り違そう
・そもそもDBがつくれていない?
→コマンドを見る限り、きちんとSQLにテーブルが作成されている
・デプロイの方法がよくない?
→デプロイ(Capistrano)の知識があまり詳しくなく不明・・・

ということで、まずはCapistranoの知識をきちんと勉強しデプロイの方法・コマンドが合っているか確認!!
この勉強と確認で1週間はかかりました・・・
何が正しいのかわからないのに、そのなかから正誤を判断するのがめちゃくちゃ精神的にも時間的にも辛かったです・・・

結局はCapistranoは良さそうでした!

ではどこか・・・
と、ふと思い立ってDBを再確認したら、SQLではなくsqliteに登録されていました!!
テーブルができているところまでは確認していたのですがデータ登録まで確認できていませんでした!

今思うと、migrateでテーブル作成はできてたけど、データ登録とは別だったんだなとしみじみです。。。
これに早く気づきたかった。

想定通りにDB(SQL)が登録されていないとわかってからの対応

・利用DBのコマンド確認
→できている
・デプロイ時のmigrate+テーブル作成
→できている
・なぜ登録だけができない!?!?!?!?!?

と悩んだとき、確かに開発環境と本番環境ってそういえば別だよね?どう切り替えてるの?と気づいて調べたらこれでした

参考にしたサイト
railsでproduction起動の備忘録

それは、普通に開発環境と本番環境が別ですし、別に設定もしていたのでそこに気づくべきでした。

解決策

参考サイトを元に本番環境で実行することで、本番環境用に準備したSQLできちんと動くようになりました!!
もし、同じことで困っているRails初心者・独学者がいましたら参考になれば幸いです!