0

PostgresでEB上にDjangoをデプロイするときの奇妙な問題。Elastic Beanstalkでデータベース設定の変更が見られない - Django

コンテキスト:postgresql 9.5を使用してElastic BeanstalkにDjangoアプリケーションをデプロイします。私は2つの別々のWindows 10マシンで同じ結果を試しました。 Python 3.5とDjango 1.10.4です。

問題:RDS環境変数を使用してデータベースに接続すると、私は誤ってsettings.pyの "RDS_USERNAME"ではなく "RDS_USER"を探します。これは当然、 "RDS_USER"のKeyErrorをスローします。

しかし、これを適切な値に変更して変更をコミットして再デプロイすると、ebは変更を受け取りません。

移行を実行しようとすると、「RDS_USER」と同じKeyErrorが表示されます。

postgresのsettings.pyを変更し、いくつかのコマンド(venv、migrations)/ packages(git、postgresql95-devel)を追加した後、これを複製できます。

誰もこれを経験していますか?

新しいインスタンスを作成し、最初に適切な変数名を使用してデプロイすると正常に動作します。

settings.py:

if 'RDS_DB_NAME' in os.environ: 
    DATABASES = { 
     'default': { 
      'ENGINE': 'django.db.backends.postgresql', 
      'NAME': os.environ['RDS_DB_NAME'], 
      'USER': os.environ['RDS_USERNAME'], 
      'PASSWORD' : os.environ['RDS_PASSWORD'], 
      'HOST': os.environ['RDS_HOSTNAME'], 
      'PORT':os.environ['RDS_PORT'] 
     } 
    } 
else: 
    DATABASES = { 
     'default': { 
      'ENGINE': 'django.db.backends.postgresql', 
      'NAME': 'name', 
      'USER':'user', 
      'PASSWORD':'password', 
      'HOST':'localhost', 
      'PORT':'' 
     } 
    } 
+0

コンソールまたはawscliを使用して展開していますか? – nmusleh

答えて

1

私もawscli使用し、私のDBの設定はちょうどあなたのように見える、彼らは正常に動作。新しいEBインスタンスを作成して、それが機能するかどうか確認しましたか?

+0

これは私が以前に行ったことであり、問​​題なく動作します。なぜこれが起こっているのか不思議です/新しいインスタンスに切り替えることを避ける方法がある場合 –