【Heroku】データベースの自動メンテナンスの記録
2021/11/21
いつも使っているHerokuでデータベースのメンテナンスがあった
しばらく待っていたら接続できるようになったんだけど、初めてのことでかなり焦ったので記録として残しておく
環境変数の変更まで終わってからメンテナンス完了のメールを送ってきて欲しいという感想
流れ
[2021/11/21 14:15] メンテナンスの告知メールが届く
Your database DATABASE_URL on [アプリ名] requires maintenance. During this period, your database will become read-only. Once maintenance has completed, your database credentials and hostname will have changed, but we will update your app’s config variables accordingly to reflect the new database connection string.
This automated maintenance is a necessary part of our Hobby tier plans, Dev and Basic. Should you need more control over maintenance windows, a production database (Standard tier or higher) offers more control over database maintenance, as we are able to schedule them in advance and provide better tools for self-served maintenance.
We expect maintenance to last just a few moments depending on the size of your database. We will notify you when maintenance begins, and again once it’s complete.
いつメンテナンスが始めるのか書かれていないから不安だ
[2021/11/21 14:31] メンテナンス開始のお知らせメールが届く
Maintenance (DATABASE_URL on [アプリ名]) is starting now. We will update you when it has completed.
アプリケーションがエラーを吐くようになった
データベースは読み取り専用になり、アクセスごとにInsert文を発行するアプリケーションなのでそこでエラーになっていた
[2021/11/21 15:04] メンテナンス完了のお知らせメールが届く
Maintenance (DATABASE_URL on [アプリ名]) has completed successfully.
完了の連絡がきたが、アプリケーションは引き続きエラーを吐いている
heroku logs
でログを確認すると、データベースに接続できないエラーメッセージ
heroku config
で環境変数を確認すると DATABASE_URL
は変わっている様子はない
[2021/11/21 15:13] アプリケーションにアクセスできるようになった
heroku config
で DATABASE_URL
が新しい値に変わっていることが確認できた
アプリケーションにアクセスすると無事表示されるようになった
めでたし、めでたし
補足
アプリケーション自体はFreeプランを使っているが、データベースはHobby DevプランからHobby Basicプランに変更している