7

Oceniam, używając Google Cloud i Google App Engine dla nowego produktu naszej firmy. Staram się przystosować ten poradnik, aby korzystać Postgresa zamiast MySQL:Błąd połączenia Django z bazą danych Google CloudSQL Postgres w Google App Engine

https://cloud.google.com/python/django/flexible-environment

ile jestem w stanie z powodzeniem połączyć z bazą danych lokalnie, gdy próbuję w produkcji, pojawia się następujący błąd 500:

OperationalError at /admin/login/ 
    could not connect to server: No such file or directory 
Is the server running locally and accepting 
connections on Unix domain socket "/cloudsql/<project_name_hidden>:us-central1:<database_id_hidden>/.s.PGSQL.5432"? 

Aby połączyć się z Postgresem, wprowadziłem trzy zmiany do przykładowego projektu. Mam ten fragment w app.yaml:

beta_settings: 
    cloud_sql_instances: <project_name_hidden>:us-central1:<database_id_hidden> 

Mam ten fragment w settings.py:

# [START dbconfig] 
DATABASES = { 
    'default': { 
     'ENGINE': 'django.db.backends.postgresql', 
     'NAME': 'polls', 
     'USER': '<db_user_name_hidden>', 
     'PASSWORD': '<db_password_hidden>', 
     'PORT': '5432', 
    } 
} 
# In the flexible environment, you connect to CloudSQL using a unix socket. 
# Locally, you can use the CloudSQL proxy to proxy a localhost connection 
# to the instance 
DATABASES['default']['HOST'] = '/cloudsql/<project_name_hidden>:us-central1:<database_id_hidden>' 
if os.getenv('GAE_INSTANCE'): 
    pass 
else: 
    DATABASES['default']['HOST'] = '127.0.0.1' 
# [END dbconfig] 

i mieć to requirements.py:

Django==1.10.6 
#mysqlclient==1.3.10 
psycopg2==2.7.1 
wheel==0.29.0 
gunicorn==19.7.0 
+1

uzyskanie tego samego błędu. Nie znalazłem żadnego rozwiązania. Stworzyłem problem na github: https://github.com/GoogleCloudPlatform/python-docs-samples/issues/870 –

Odpowiedz

5

Nieważne, wydaje jak Google naprawił coś na ich końcu, a usługa działa teraz. Próbuję dowiedzieć się, co dokładnie się zmieniło ...