Как настроить базы данных для разработки и производства с развязкой? - PullRequest
0 голосов
/ 16 октября 2019

В моем файле настроек я использую оператор ifelse для управления используемой базой данных.

Я использую:

1) Разработка:локальная база данных SQL.
2) Производство: PostgresSQL в работе (проект, размещенный в Heroku).

Каков наилучший подход для подключения к каждой базе данных в зависимости от того, работаю ли я в разработке (локальный ПК) или в производственной (развертывание в Heroku)?

Верносейчас я использую условие ifelse, но мне приходится менять DEBUG каждый раз, когда я работаю локально. И иногда я забывал изменить это значение на false для производства.

У меня есть файл .env, содержащий все эти переменные.

settings.py:

import os
from decouple import config

SECRET_KEY = config('SECRET_KEY')
DEBUG = config('DEBUG', default=False, cast=bool)

SECURITY WARNING: don't run with debug turned on in production!


if DEBUG:
    # Redirecciona www y http  a https
    SECURE_SSL_REDIRECT = False

    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.sqlite3',
            'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
        }
    }

else:
    # Redirecciona www y http  a https
    SECURE_SSL_REDIRECT = True

    ### HEROKU POSTGRESS ACCESS
    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.postgresql_psycopg2',
            'NAME': config('HEROKU_POSTGRESQL_NAME'),
            'USER': config('HEROKU_POSTGRESQL_USER'),
            'PASSWORD': config('HEROKU_POSTGRESQL_PASSWORD'),
            'HOST': config('HEROKU_POSTGRESQL_HOST'),
            'PORT': config('HEROKU_POSTGRESQL_PORT'),
        }
    }

Еще одна опция, которую я недавно нашел: Django-Split-Setting. Мне нужно исследовать это дальше.

https://github.com/sobolevn/django-split-settings

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...