github.com/inflatablewoman/deis@v1.0.1-0.20141111034523-a4511c46a6ce/contrib/util/_controller-reset-db.sh (about)

     1  #!/bin/bash -e
     2  
     3  # This code is kept in a separate file from `reste-db.sh` for no other reason than to not have to deal
     4  # with the nightmare of double escaping all these commands through `vagrant ssh -c "\\\\\\\\\AGH!"`
     5  
     6  # NB. Command for exporting fixtures
     7  # `./manage.py dumpdata --natural --indent=4 -e sessions -e admin -e contenttypes -e auth.Permission -e south > /app/deis/api/fixtures/dev.json`
     8  
     9  if [[ $EUID -ne 0 ]]; then
    10     echo "This script must be run as root" 1>&2
    11     exit 1
    12  fi
    13  
    14  if [[ -z "$VP_HOST" && -z "$VP_USER" ]]; then
    15  	echo "VP_HOST and VP_USER must be set"
    16  	exit 1
    17  fi
    18  
    19  cd /vagrant/contrib/vagrant/util
    20  
    21  echo "Dropping and recreating Deis database..."
    22  echo "su postgres -c 'dropdb deis && createdb --encoding=utf8 --template=template0 deis'" | ./dshell deis-database
    23  
    24  echo "Running South migrations..."
    25  echo '/app/manage.py syncdb --migrate --noinput' | ./dshell deis-controller
    26  
    27  echo "Importing fixtures"
    28  echo '/app/manage.py loaddata /app/api/fixtures/dev.json' | ./dshell deis-controller
    29  
    30  # Most of the fixture data is generic. However the host machine's SSH credentials will change
    31  # from developer to developer.
    32  echo "Updating vagrant provider details"
    33  cat <<EOF | ./dshell deis-database
    34  su postgres
    35  psql deis -c "UPDATE api_provider SET creds = '{\"host\": \"$VP_HOST\", \"user\": \"$VP_USER\"}' WHERE owner_id = 1 AND type = 'vagrant' "
    36  EOF