0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

django本番環境でデータベースを変更しようとした時に、変更前のデータベースがマイグレートされる

Posted at

django本番環境でデータベースをテスト用から正式用に変更しようとした時に、変更前のデータベースがマイグレートされる不具合起きて苦戦したため、備忘録を載せます。

自分の場合、設定関連は本来のsetting.pyではなく、
settingsディレクトリを作成して、その中に"base.py"、"local.py"、"production.py"と
ファイル作り、ローカルや本番ごとに設定を分ける方式を採用していました。

これが原因なのかは、わかりませんが最終的にこれに関係しそうなところを触ると治ったため
関係があるかもしれません。

前提条件

・settingsディレクトリの中に"base.py"、"local.py"、"production.py"を作る方式にしている
・database関連の設定を.envから読み込むようにしている

解決方法

①gunicorn.serviceに下記を追記

[Service]
#他の設定省略

#Djangoが使用する設定モジュールを指定
Environment="DJANGO_SETTINGS_MODULE=(プロジェクト名).settings.production"

②仮想環境をアクティベートした状態で下記を実行

export DJANGO_SETTINGS_MODULE="(プロジェクト名).settings.production"

これが重要のようです。sshで接続したセッションが古い(またはデフォルトの)設定を読み込んでしまっていて変更後の.envの設定が反映されていなかった。このコマンドで強制的に設定を上書きするようなイメージです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?