From ff7810d7774a80668ed0681df97b7faff291a060 Mon Sep 17 00:00:00 2001 From: John Jarvis Date: Mon, 3 Feb 2014 14:49:41 -0500 Subject: [PATCH 1/6] adding db overrides to aws_migrate.py --- lms/envs/aws_migrate.py | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/lms/envs/aws_migrate.py b/lms/envs/aws_migrate.py index 726b09874c..b06bb7b13c 100644 --- a/lms/envs/aws_migrate.py +++ b/lms/envs/aws_migrate.py @@ -1,6 +1,6 @@ """ -A Django settings file for use on AWS while running -database migrations, since we don't want to normally run the +A Django settings file for use on AWS while running +database migrations, since we don't want to normally run the LMS with enough privileges to modify the database schema. """ @@ -13,12 +13,17 @@ 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( + USER=os.environ.get('DB_MIGRATION_USER', 'root'), + PASSWORD=os.environ.get('DB_MIGRATION_PASS', None), + 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: - raise ImproperlyConfigured("No database password was provided for running " - "migrations. This is fatal.") +if not DB_OVERRIDES['PASSWORD']: + 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 From 693497673a05dec983d42ba4bee58a6b0e3baa04 Mon Sep 17 00:00:00 2001 From: John Jarvis Date: Mon, 3 Feb 2014 16:42:22 -0500 Subject: [PATCH 2/6] remove check for PASS --- lms/envs/aws_migrate.py | 4 ---- 1 file changed, 4 deletions(-) diff --git a/lms/envs/aws_migrate.py b/lms/envs/aws_migrate.py index b06bb7b13c..2b5a9f15e5 100644 --- a/lms/envs/aws_migrate.py +++ b/lms/envs/aws_migrate.py @@ -21,9 +21,5 @@ DB_OVERRIDES = dict( PORT=os.environ.get('DB_MIGRATION_PORT', DATABASES['default']['PORT']), ) -if not DB_OVERRIDES['PASSWORD']: - raise ImproperlyConfigured("No database password was provided for running " - "migrations. This is fatal.") - for override, value in DB_OVERRIDES.iteritems(): DATABASES['default'][override] = value From d28f2f5905d83bfb4c90616edd97713fbba67049 Mon Sep 17 00:00:00 2001 From: John Jarvis Date: Mon, 3 Feb 2014 16:54:54 -0500 Subject: [PATCH 3/6] adding check back in --- lms/envs/aws_migrate.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lms/envs/aws_migrate.py b/lms/envs/aws_migrate.py index 2b5a9f15e5..b06bb7b13c 100644 --- a/lms/envs/aws_migrate.py +++ b/lms/envs/aws_migrate.py @@ -21,5 +21,9 @@ DB_OVERRIDES = dict( PORT=os.environ.get('DB_MIGRATION_PORT', DATABASES['default']['PORT']), ) +if not DB_OVERRIDES['PASSWORD']: + raise ImproperlyConfigured("No database password was provided for running " + "migrations. This is fatal.") + for override, value in DB_OVERRIDES.iteritems(): DATABASES['default'][override] = value From 3fe701c037055754c0f12bece845c68102b96948 Mon Sep 17 00:00:00 2001 From: John Jarvis Date: Tue, 4 Feb 2014 09:11:48 -0500 Subject: [PATCH 4/6] check for None so an empty string is valid for a password --- lms/envs/aws_migrate.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lms/envs/aws_migrate.py b/lms/envs/aws_migrate.py index b06bb7b13c..7de51c8c59 100644 --- a/lms/envs/aws_migrate.py +++ b/lms/envs/aws_migrate.py @@ -21,7 +21,7 @@ DB_OVERRIDES = dict( PORT=os.environ.get('DB_MIGRATION_PORT', DATABASES['default']['PORT']), ) -if not DB_OVERRIDES['PASSWORD']: +if DB_OVERRIDES['PASSWORD'] is None: raise ImproperlyConfigured("No database password was provided for running " "migrations. This is fatal.") From 442abde030b4de93f143f5b5624e90bc7d281534 Mon Sep 17 00:00:00 2001 From: John Jarvis Date: Tue, 4 Feb 2014 09:24:49 -0500 Subject: [PATCH 5/6] adding DB_MIGRATION_ENGINE and fixing defaults --- lms/envs/aws_migrate.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lms/envs/aws_migrate.py b/lms/envs/aws_migrate.py index 7de51c8c59..e2cdb7336c 100644 --- a/lms/envs/aws_migrate.py +++ b/lms/envs/aws_migrate.py @@ -14,8 +14,9 @@ import os from django.core.exceptions import ImproperlyConfigured DB_OVERRIDES = dict( - USER=os.environ.get('DB_MIGRATION_USER', 'root'), 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']), From d279dff9c9f4197f793241888cd780f98e256053 Mon Sep 17 00:00:00 2001 From: John Jarvis Date: Tue, 4 Feb 2014 09:26:25 -0500 Subject: [PATCH 6/6] fixing syntax --- lms/envs/aws_migrate.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lms/envs/aws_migrate.py b/lms/envs/aws_migrate.py index e2cdb7336c..a8617d2fa0 100644 --- a/lms/envs/aws_migrate.py +++ b/lms/envs/aws_migrate.py @@ -15,7 +15,7 @@ from django.core.exceptions import ImproperlyConfigured DB_OVERRIDES = dict( PASSWORD=os.environ.get('DB_MIGRATION_PASS', None), - ENGINE=os.environ.get('DB_MIGRATION_ENGINE', DATABASES['default']['ENGINE']) + 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']),