前フリ
長らく演習で使ってきた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できん...
対応は簡単で,render.comのWEB SERVERのEnvironmentに以下を追加すればいいっていう話しでした.
DISABLE_DATABASE_ENVIRONMENT_CHECK=1
render.comの無料プランはHerokuの昔も無料プランと比べると手順も多いし...うーん...という感じです.これならローカルでやった方が良い気がしてきます.
来年度どーすっかなぁ.render.comの無料プランではチーム作成もできなくなったし...
教育用といえどもフリーランチはいただけなくないですよね...民間企業だし慈善事業じゃないしね.
来年度まで考えないと.春休みに考えよう.
メモメモ.