team-3/start_db.sh
2025-08-02 13:20:51 +02:00

46 lines
1.8 KiB
Bash
Executable file

#!/bin/bash
set -e
source ./.env/bin/activate
export C3NAV_DATABASE=postgres://mindshub:test@localhost:5432/insignorocketdb
export C3NAV_DEBUG=True
if [[ $# == 1 ]] && [[ $1 == "stop" ]]; then
echo "Just stopping the postgres container"
sudo docker stop postgres
sudo docker container rm -f postgres
echo "Stopped the postgres container"
elif [[ $# == 1 ]] && [[ $1 == "db" ]]; then
echo "Setting up database"
sudo docker stop postgres
sudo docker container rm -f postgres
sudo docker run -d --name postgres -p 5432:5432 -e POSTGRES_PASSWORD=test -e POSTGRES_USER=mindshub postgres
until psql "postgres://mindshub:test@localhost:5432" <<< "CREATE DATABASE insignorocketdb;"; do
sleep 0.5;
done;
psql "postgres://mindshub:test@localhost:5432/insignorocketdb" < auth_user.sql
psql "postgres://mindshub:test@localhost:5432/insignorocketdb" < dump.sql
pushd src
python manage.py migrate
echo "from django.contrib.auth.models import User; User.objects.create_superuser('admin', 'admin@example.com', 'admin')" | python manage.py shell
popd
echo "Successfully setup database"
elif [[ $# == 1 ]] && [[ $1 == "run" ]]; then
echo "Processing updates and running server"
pushd src
python manage.py processupdates
python manage.py runserver
popd
elif [[ $# == 1 ]] && [[ $1 == "run_without_output" ]]; then
echo "Processing updates and running server without output"
pushd src 2>&1 > /dev/null
python manage.py processupdates 2>&1 | (grep -vE '^(INFO|DEBUG)|__debug__' || true)
python manage.py runserver 2>&1 | (grep -vE '^(INFO|DEBUG)|__debug__' || true)
popd 2>&1 > /dev/null
elif [[ $# > 0 ]] && [[ $1 == "manage" ]]; then
pushd src
python manage.py "${@:2}"
popd
else
echo "Usage: $0 [stop|db|run|run_without_output|manage]"
fi