Signed-off-by: You-Sheng Yang <vic...@gmail.com> --- patchwork/settings/base.py | 39 +++++++++++++++++++ patchwork/settings/dev.py | 28 +------------ patchwork/settings/production.example.py | 17 -------- ...e-settings-into-base-f0d05cf75170d55f.yaml | 5 +++ 4 files changed, 46 insertions(+), 43 deletions(-) create mode 100644 releasenotes/notes/settings-move-database-settings-into-base-f0d05cf75170d55f.yaml
diff --git a/patchwork/settings/base.py b/patchwork/settings/base.py index ff14d91..5e200f0 100644 --- a/patchwork/settings/base.py +++ b/patchwork/settings/base.py @@ -105,6 +105,45 @@ STATICFILES_DIRS = [ os.path.join(ROOT_DIR, 'htdocs'), ] +# Database +# +# If you're using a postgres database, connecting over a local unix-domain +# socket, then the following setting should work for you. Otherwise, +# see https://docs.djangoproject.com/en/2.2/ref/settings/#databases + +if os.getenv('DATABASE_TYPE', None) == 'postgres': + DATABASES = { + 'default': { + 'ENGINE': 'django.db.backends.postgresql_psycopg2', + 'HOST': os.environ.get('DATABASE_HOST', 'localhost'), + 'PORT': os.environ.get('DATABASE_PORT', ''), + 'NAME': os.environ.get('DATABASE_NAME', 'patchwork'), + 'USER': os.environ.get('DATABASE_USER', 'patchwork'), + 'PASSWORD': os.environ.get('DATABASE_PASSWORD', 'password'), + }, + } +elif os.getenv('DATABASE_TYPE', None) == 'sqlite3': + DATABASES = { + 'default': { + 'ENGINE': 'django.db.backends.sqlite3', + 'NAME': os.environ.get('DATABASE_NAME', ''), + }, + } +else: + DATABASES = { + 'default': { + 'ENGINE': 'django.db.backends.mysql', + 'HOST': os.getenv('DATABASE_HOST', 'localhost'), + 'PORT': os.getenv('DATABASE_PORT', ''), + 'NAME': os.getenv('DATABASE_NAME', 'patchwork'), + 'USER': os.getenv('DATABASE_USER', 'patchwork'), + 'PASSWORD': os.getenv('DATABASE_PASSWORD', 'password'), + 'TEST': { + 'CHARSET': 'utf8', + }, + }, + } + # # Third-party application settings # diff --git a/patchwork/settings/dev.py b/patchwork/settings/dev.py index 4487494..cb4cb19 100644 --- a/patchwork/settings/dev.py +++ b/patchwork/settings/dev.py @@ -7,8 +7,6 @@ Design based on: http://www.revsys.com/blog/2014/nov/21/recommended-django-project-layout/ """ -import os - from .base import * # noqa try: @@ -36,30 +34,8 @@ SECRET_KEY = '00000000000000000000000000000000000000000000000000' # noqa DEBUG = True -DATABASES = { - 'default': { - 'ENGINE': 'django.db.backends.mysql', - 'HOST': os.getenv('DATABASE_HOST', 'localhost'), - 'PORT': os.getenv('DATABASE_PORT', ''), - 'USER': os.getenv('DATABASE_USER', 'patchwork'), - 'PASSWORD': os.getenv('DATABASE_PASSWORD', 'password'), - 'NAME': os.getenv('DATABASE_NAME', 'patchwork'), - 'TEST': { - 'CHARSET': 'utf8', - }, - }, -} - -if os.getenv('DATABASE_TYPE', None) == 'postgres': - DATABASES['default']['ENGINE'] = 'django.db.backends.postgresql_psycopg2' - DATABASES['default']['HOST'] = os.getenv('DATABASE_HOST', '') -elif os.getenv('DATABASE_TYPE', None) == 'sqlite': - DATABASES['default']['ENGINE'] = 'django.db.backends.sqlite3' - DATABASES['default']['NAME'] = '/dev/shm/patchwork.test.db.sqlite3' - del DATABASES['default']['HOST'] - del DATABASES['default']['PORT'] - del DATABASES['default']['USER'] - del DATABASES['default']['PASSWORD'] +if DATABASES['default']['ENGINE'] == 'mysql': # noqa: F405 + DATABASES['default']['TEST'] = {'CHARSET': 'utf8'} # noqa: F405 EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend' diff --git a/patchwork/settings/production.example.py b/patchwork/settings/production.example.py index caaf429..ff05629 100644 --- a/patchwork/settings/production.example.py +++ b/patchwork/settings/production.example.py @@ -48,23 +48,6 @@ ADMINS = ( # ('Jeremy Kerr', 'j...@ozlabs.org'), ) -# Database -# -# If you're using a postgres database, connecting over a local unix-domain -# socket, then the following setting should work for you. Otherwise, -# see https://docs.djangoproject.com/en/2.2/ref/settings/#databases - -DATABASES = { - 'default': { - 'ENGINE': 'django.db.backends.postgresql_psycopg2', - 'NAME': os.environ.get('DATABASE_NAME', ''), - 'USER': os.environ.get('DATABASE_USER', ''), - 'PASSWORD': os.environ.get('DATABASE_PASSWORD', ''), - 'HOST': os.environ.get('DATABASE_HOST', ''), - 'PORT': os.environ.get('DATABASE_PORT', ''), - }, -} - # # Static files settings # https://docs.djangoproject.com/en/2.2/ref/settings/#static-files diff --git a/releasenotes/notes/settings-move-database-settings-into-base-f0d05cf75170d55f.yaml b/releasenotes/notes/settings-move-database-settings-into-base-f0d05cf75170d55f.yaml new file mode 100644 index 0000000..c313437 --- /dev/null +++ b/releasenotes/notes/settings-move-database-settings-into-base-f0d05cf75170d55f.yaml @@ -0,0 +1,5 @@ +--- +fixes: + - | + Move database configurations into patchwork.settings.base. DATABASE_HOST + has a common default value 'localhost' from now on. -- 2.32.0 _______________________________________________ Patchwork mailing list Patchwork@lists.ozlabs.org https://lists.ozlabs.org/listinfo/patchwork