いつもお世話になっております。以下、考え方について質問です。
困っていること
DjangoでWebアプリを作成しているのですが、DBエラー(後述)が発生しています。
コードのエラーであればエラーログを見てエラーの起きている箇所を修正するなどして対応できるのですが、DBのエラーはどこにどう手をつければ良いのか分からず、いつも本質的ではない解決方法(アプリを最初から作り直すなど)をとってしまいます。
できればちゃんと解消をしたいのですが、DBのエラーが出た時どんな手順を踏んでエラーを解消するのでしょうか?? また、そのためにはどんな知識が必要なのでしょうか?
具体的な経緯・エラー
以下、具体的な経緯とエラーです。
⓪Djangoで機能Aを作成する。Aはログインが必要で、データの閲覧ができるだけの機能。その後Bを作成。こちらはログイン不要でデータの閲覧ができるだけの機能。
①機能Aにfavicon.icoを追加、各種HTMLファイルのheadにfavicon用のlinkを挿入
②ローカル環境でfaviconの設定ができていることを確認
③テスト環境(heroku)にデプロイしたところ、ログイン後のページにて500エラーが発生
④エラーの内容は下記の通り
ProgrammingError at /accounts/login/ permission denied for relation django_session
⑤favicon関連のpush
を全てgit revert
するも、エラーの内容は変わらない
気になっている点
・いつから500エラーが出ていたのかは不明。
(機能追加したり、フロントをいじった時には確認しているため、favicon以外の修正で500エラーが出たとも考えにくい。が、ちゃんと記録していたわけではない)
・ローカルが動くのにテスト環境で500エラー
ローカル環境で動いていたものがテスト(heroku)で動かなくなるというのは一般にどんな原因があるのか?
環境など
macOS Mojave 10.14.2
Python 3.6
Django 2.1.1
heroku
git
ローカル環境のDB:sqlite3
テスト環境のDB:下記の通り設定しています
DATABASES = { 'default': dj_database_url.config() }
回答1件
あなたの回答
tips
プレビュー