django heroku Webアプリケーション

【Heroku】DjangoのDBのmigrateで「database connection isn’t set to UTC」のエラー

この記事は約2分で読めます。

 

 

HEROKUでDB機能のあるDjango製アプリのデプロイする時によくあるエラー

 

テーブルエラー

 

〇〇 does not exist

 

テーブルが存在していないのでDBの接続先のPATHを確認するかmigrateしましょう。

 

HerokuでDBをMigrateするのは以下のコマンドです。

 

$ heroku run --app <プロジェクト名> python manage.py migrate --fake-initial

 

psycopgの互換性エラー

 

database connection isn’t set to UTC

 

解決法はpsycopg2のバージョンを調整することです。

 

requirement.txtでpsycopg2を以下のバージョンに指定すると解決します。

 

psycopg2==2.8.6

 

終わり:余談

 

大学の課題で作ったデモや転職の際のポートフォリオであればsqlite3でそのままデプロイすればよいですが、ちゃんと運用したい場合はsqlite3はNGです。

 

というのもwebアプリのデータを更新するような使用の場合はこの方法でsqlite3を行っても、HEROKUの契約プラン次第で24時間ごとにデータがリセットされる(デプロイ時の状態に戻る)のでPosgreSQLに接続した方が良いです。

 

関連記事:【Python】Herokuのデータベースにスクレイピングしたデータを保存する

 

本番環境へのデプロイ時のDB設定はいつもハマるのでめんどくさい・・・

 

 

参照:https://kimbio.info/django-db-utils-programmingerror/

参照:https://stackoverflow.com/questions/68024060/assertionerror-database-connection-isnt-set-to-utc

 

 

コメント

タイトルとURLをコピーしました