Skip to content

Commit

Permalink
Merge pull request #110 from silverbackhq/feature/db-string
Browse files Browse the repository at this point in the history
parse db string
  • Loading branch information
Clivern committed Jul 8, 2019
2 parents 917b674 + c095635 commit 8fa3e58
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 13 deletions.
4 changes: 3 additions & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,9 @@ matrix:
allow_failures:
- python: "3.5"
- python: "3.5-dev"

- python: "3.8-dev"
- python: "nightly"

# command to install dependencies
install:
- make config
Expand Down
42 changes: 30 additions & 12 deletions app/settings/basic.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
import os
import time
import os.path
from urllib.parse import urlparse

# Third Party Library
from dotenv import load_dotenv
Expand Down Expand Up @@ -127,26 +128,43 @@

WSGI_APPLICATION = 'app.wsgi.application'


# Database
# https://docs.djangoproject.com/en/2.0/ref/settings/#databases
if os.getenv("DB_CONNECTION") == "mysql":
db_connection = os.getenv("DB_CONNECTION")
db_name = os.getenv("DB_DATABASE")
db_username = os.getenv("DB_USERNAME")
db_password = os.getenv("DB_PASSWORD")
db_host = os.getenv("DB_HOST")
db_port = os.getenv("DB_PORT")

if os.getenv("DATABASE_URL", "") != "":
url_parts = urlparse(os.getenv("DATABASE_URL", ""))
db_connection = url_parts.scheme
db_name = url_parts.path.lstrip("/")
db_username = url_parts.username
db_password = url_parts.password
db_host = url_parts.hostname
db_port = url_parts.port

if db_connection == "mysql":
default_db = {
'ENGINE': 'django.db.backends.mysql',
'NAME': os.getenv("DB_DATABASE"),
'USER': os.getenv("DB_USERNAME"),
'PASSWORD': os.getenv("DB_PASSWORD"),
'HOST': os.getenv("DB_HOST"),
'PORT': os.getenv("DB_PORT"),
'NAME': db_name,
'USER': db_username,
'PASSWORD': db_password,
'HOST': db_host,
'PORT': db_port,
}

elif os.getenv("DB_CONNECTION") == "postgresql":
elif db_connection == "postgres":
default_db = {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': os.getenv("DB_DATABASE"),
'USER': os.getenv("DB_USERNAME"),
'PASSWORD': os.getenv("DB_PASSWORD"),
'HOST': os.getenv("DB_HOST"),
'PORT': os.getenv("DB_PORT"),
'NAME': db_name,
'USER': db_username,
'PASSWORD': db_password,
'HOST': db_host,
'PORT': db_port,
}
else:
default_db = {
Expand Down

0 comments on commit 8fa3e58

Please sign in to comment.