memorandums

日々の生活で問題解決したこと、知ってよかったことなどを自分が思い出すために記録しています。

Render.com(無料プラン)にRailsプロジェクトをデプロイしたらなぜかテーブルが存在しないというエラーがでる件について

前フリ

長らく演習で使ってきたHerokuの無料プランでpostgresqlが使えなったためRender.comに乗り換えました.

そのRender.comにデプロイできない(デプロイはできるけどサイトにアクセスするとFATALエラーになる),という現象を報告してきたチームがありました.

Render.comにデプロイするまでの手順書を作成して学生さんに提供していたので,手順抜けじゃないかと疑ったのですが,実際にやってみるとわからない...

psqlでRender.comのpostgresqlにアクセスしてみると,確かに1つテーブルがない状況であることがわかりました.

rails db:migrateしているのになぜ存在しないテーブルが再作成されないんだろう...?不思議でした.

本題

render.comの手順書によるとデプロイしたあとに実行するスクリプト(bin/render-build.sh)を作成するのですが,db:migrateする前に「bundle exec rake db:reset」を追加してデプロイしてみました.

bundle install
bundle exec rake assets:precompile
bundle exec rake assets:clean
bundle exec rake db:migrate

すると...以下の記事に書かれているようなエラーが出ましてrails db:resetできん...

qiita.com

対応は簡単で,render.comのWEB SERVERのEnvironmentに以下を追加すればいいっていう話しでした.

DISABLE_DATABASE_ENVIRONMENT_CHECK=1

render.comの無料プランはHerokuの昔も無料プランと比べると手順も多いし...うーん...という感じです.これならローカルでやった方が良い気がしてきます.

来年度どーすっかなぁ.render.comの無料プランではチーム作成もできなくなったし...

memorandums.hatenablog.com

教育用といえどもフリーランチはいただけなくないですよね...民間企業だし慈善事業じゃないしね.

来年度まで考えないと.春休みに考えよう.

メモメモ.