浏览代码

Check if db already exists before creating it

Mikalai Saskavets 6 年之前
父节点
当前提交
94ae0a94eb
共有 1 个文件被更改,包括 11 次插入1 次删除
  1. 11 1
      vagrant/provision.sh

+ 11 - 1
vagrant/provision.sh

@@ -35,7 +35,17 @@ echo DJANGO_SETTINGS_MODULE=$PROJECT_NAME.settings.local > $PROJECT_DIR/.env
 
 if [ -n "$USE_POSTGRESQL" ]
 then
-    su - $DEV_USER -c "createdb $PROJECT_NAME"
+    echo Creating database.....
+    DB_EXISTS=$(
+        su - $DEV_USER -c \
+        "psql -lqt | cut -d \| -f 1 | grep -q '^ $PROJECT_NAME $' && echo yes || echo no"
+    )
+    if [[ "$DB_EXISTS" == "no" ]]; then
+        echo Database does not exist, creating...
+        su - $DEV_USER -c "createdb $PROJECT_NAME"
+    else
+        echo Database already exists, skipping...
+    fi
     su - $DEV_USER -c "$PIP install \"psycopg2-binary>=2.7,<3\""
     cat << EOF >> $PROJECT_DIR/bakerydemo/settings/local.py
 DATABASES = {