Browse Source

Add PostgreSQL configuration to Vagrant provision script

The script now accepts a USE_POSTGRESQL environment variable; if defined, it configures the demo to run under PostgreSQL (by patching settings/local.py).
Matt Westcott 7 years ago
parent
commit
9fd0fff6e6
1 changed files with 14 additions and 0 deletions
  1. 14 0
      vagrant/provision.sh

+ 14 - 0
vagrant/provision.sh

@@ -32,6 +32,20 @@ cp $PROJECT_DIR/bakerydemo/settings/local.py.example $PROJECT_DIR/bakerydemo/set
 # add .env file for django-dotenv environment variable definitions
 echo DJANGO_SETTINGS_MODULE=$PROJECT_NAME.settings.local > $PROJECT_DIR/.env
 
+if [ -n "$USE_POSTGRESQL" ]
+then
+    su - vagrant -c "createdb $PROJECT_NAME"
+    su - vagrant -c "$PIP install \"psycopg2>=2.7,<3\""
+    cat << EOF >> $PROJECT_DIR/bakerydemo/settings/local.py
+DATABASES = {
+    'default': {
+        'ENGINE': 'django.db.backends.postgresql_psycopg2',
+        'NAME': '$PROJECT_NAME',
+    }
+}
+EOF
+fi
+
 # Run syncdb/migrate/load_initial_data/update_index
 su - vagrant -c "$PYTHON $PROJECT_DIR/manage.py migrate --noinput && \
                  $PYTHON $PROJECT_DIR/manage.py load_initial_data && \