結論
Render.comの無料版ではプログラムで生成したファイルやアップロードしたファイルはサーバーがリブートされると削除されるようです。特にsqlite3をデータベースに使用している場合は注意が必要です。
実際に起きたこと
以前、Render.comでPostgreSQLを使用してアップグレードしていないまま90日経過するとエラーが発生するという記事を投稿しました。
この記事ではPostgreSQLをsqlite3に切り替えておくことでエラーを解決させてます。
ただ、sqlite3に切り替え後、時間をおいてからWebアプリにアクセスすると以前のDBの内容が残っていないという点に気がつきました。
調査
以下の記事が参考になりました。
https://www.braingate.jp/render_prosandcons/
- プログラムで生成したファイル、ユーザーがアップロードしたファイルなどは永続的でない。
- 15分間アクセスがないと、サーバーはリブートされる。そのために、上記項目で記したファイルは削除される。
sqlite3はデータベースをファイルにして管理しています。そのため、サーバーがリブートされるとデータベースのファイルも削除されてしまう結果になります。
終わりに
プログラムで生成したファイルが永続的でないことについてはRender.comの無料版の仕様であるためどうしようもなさそうです。sqlite3のデータベースの内容を削除されたくない場合、有料版を使用することを検討したほうが良いと思います。
以上です。
参考