Get staging to run under docker on an EC2 host.
This commit is contained in:
parent
0fd5da172e
commit
8fac0474b5
8 changed files with 40 additions and 41 deletions
|
@ -5,6 +5,7 @@ import uuid
|
|||
from random import SystemRandom
|
||||
from datetime import datetime
|
||||
from peewee import *
|
||||
from sqlalchemy.engine.url import make_url
|
||||
from urlparse import urlparse
|
||||
|
||||
from app import app
|
||||
|
@ -21,19 +22,18 @@ SCHEME_DRIVERS = {
|
|||
|
||||
def generate_db(config_object):
|
||||
db_kwargs = dict(config_object['DB_CONNECTION_ARGS'])
|
||||
connection_string = config_object['DB_URI']
|
||||
parsed_url = make_url(config_object['DB_URI'])
|
||||
|
||||
scheme, auth_and_host, dbname = urlparse(connection_string)[:3]
|
||||
if auth_and_host:
|
||||
if '@' in auth_and_host:
|
||||
auth, db_kwargs['host'] = auth_and_host.split('@')
|
||||
if ':' in auth:
|
||||
db_kwargs['user'], db_kwargs['passwd'] = auth.split(':')
|
||||
if parsed_url.host:
|
||||
db_kwargs['host'] = parsed_url.host
|
||||
if parsed_url.port:
|
||||
db_kwargs['port'] = parsed_url.port
|
||||
if parsed_url.username:
|
||||
db_kwargs['user'] = parsed_url.username
|
||||
if parsed_url.password:
|
||||
db_kwargs['passwd'] = parsed_url.password
|
||||
|
||||
if scheme == 'sqlite':
|
||||
dbname = dbname[1:]
|
||||
|
||||
return SCHEME_DRIVERS[scheme](dbname, **db_kwargs)
|
||||
return SCHEME_DRIVERS[parsed_url.drivername](parsed_url.database, **db_kwargs)
|
||||
|
||||
|
||||
db = generate_db(app.config)
|
||||
|
|
Reference in a new issue