diff --git a/cms/envs/aws_migrate.py b/cms/envs/aws_migrate.py index 54ced39c7c..a8617d2fa0 100644 --- a/cms/envs/aws_migrate.py +++ b/cms/envs/aws_migrate.py @@ -13,12 +13,18 @@ from .aws import * import os from django.core.exceptions import ImproperlyConfigured -USER = os.environ.get('DB_MIGRATION_USER', 'root') -PASSWORD = os.environ.get('DB_MIGRATION_PASS', None) +DB_OVERRIDES = dict( + PASSWORD=os.environ.get('DB_MIGRATION_PASS', None), + ENGINE=os.environ.get('DB_MIGRATION_ENGINE', DATABASES['default']['ENGINE']), + USER=os.environ.get('DB_MIGRATION_USER', DATABASES['default']['USER']), + NAME=os.environ.get('DB_MIGRATION_NAME', DATABASES['default']['NAME']), + HOST=os.environ.get('DB_MIGRATION_HOST', DATABASES['default']['HOST']), + PORT=os.environ.get('DB_MIGRATION_PORT', DATABASES['default']['PORT']), +) -if not PASSWORD: +if DB_OVERRIDES['PASSWORD'] is None: raise ImproperlyConfigured("No database password was provided for running " "migrations. This is fatal.") -DATABASES['default']['USER'] = USER -DATABASES['default']['PASSWORD'] = PASSWORD +for override, value in DB_OVERRIDES.iteritems(): + DATABASES['default'][override] = value