Как связать Django Local с Postgress в Heroku - PullRequest
0 голосов
/ 07 сентября 2018

Как связать живой пост Heroku postgress с моим локальным сервером. Есть ли способ сделать резервную копию базы данных Heroku?

Как осуществляется соединение с базой данных в производстве Heroku?

Вот мой local.py

import dj_database_url
from .base import *

ROOT_URL = 'http://localhost:8000'
ALLOWED_HOSTS = ['localhost:8000'] 
SECURE_SSL_REDIRECT = False
# SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https')  
DEBUG = True

INSTALLED_APPS.extend([
    'collectfast',
])
INSTALLED_APPS.extend([
    'django.contrib.staticfiles',
    # 'djcelery',

])

DATABASES = {
    'default': dj_database_url.config()
}
print(DATABASE_URL)

# AWS and S3  settings
AWS_ACCESS_KEY_ID = ''
AWS_SECRET_ACCESS_KEY = ''
AWS_STORAGE_BUCKET_NAME = 'jagah-production'
AWS_QUERYSTRING_AUTH = False
AWS_PRELOAD_METADATA = True

# Static files settings
#STATICFILES_STORAGE = ''
#STATIC_S3_PATH = 'static'
#STATIC_ROOT = '/%s/' % STATIC_S3_PATH
#STATIC_URL = '' % AWS_STORAGE_BUCKET_NAME

STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static_root')
STATICFILES_DIRS = (os.path.join(BASE_DIR, 'static'),)

1 Ответ

0 голосов
/ 07 сентября 2018

Из Документация Heroku :

Помимо доступа к среде исполнения Heroku, базы данных Heroku Postgres могут быть доступны напрямую клиентам, работающим на вашем локальном компьютере или в другом месте.

Все соединения требуют SSL: sslmode = require.

Вы можете получить строку соединения PG одним из двух способов.heroku pg: учетные данные обсуждаются выше:

$ heroku pg:credentials DATABASE Connection info string:   
"dbname=dee932clc3mg8h host=ec2-123-73-145-214.compute-1.amazonaws.com
port=6212 user=user3121 password=98kd8a9 sslmode=require" Also, the

строка подключения предоставляется в качестве конфигурационной переменной для вашего приложения:

$ heroku config | grep HEROKU_POSTGRESQL HEROKU_POSTGRESQL_YELLOW_URL:
postgres://user3123:passkja83kd8@ec2-117-21-174-214.compute-1.amazonaws.com:6212/db982398
...