33 lines
888 B
Bash
Executable File
33 lines
888 B
Bash
Executable File
#!/bin/bash
|
|
# Development startup script
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
DJANGO_DIR="$SCRIPT_DIR/nonpacks"
|
|
PYTHON_BIN="$SCRIPT_DIR/venv/bin/python"
|
|
|
|
FLAG_FILE="$SCRIPT_DIR/.migrations_done"
|
|
FORCE_SETUP=0
|
|
|
|
# Check for --force-setup argument
|
|
for arg in "$@"; do
|
|
if [ "$arg" = "--force-setup" ]; then
|
|
FORCE_SETUP=1
|
|
fi
|
|
done
|
|
|
|
cd "$DJANGO_DIR"
|
|
|
|
# Run migrations once, flag it, skip next time
|
|
if [ ! -f "$FLAG_FILE" ] || [ $FORCE_SETUP -eq 1 ]; then
|
|
echo "Running database migrations..."
|
|
"$PYTHON_BIN" manage.py migrate
|
|
touch "$FLAG_FILE"
|
|
echo "Migrations applied. Flag file created: $FLAG_FILE"
|
|
else
|
|
echo "Database already migrated (found $FLAG_FILE). Skipping."
|
|
echo "To force re-run, use: $0 --force-setup"
|
|
fi
|
|
|
|
echo "Starting Django development server on 0.0.0.0:8000..."
|
|
exec "$PYTHON_BIN" manage.py runserver 0.0.0.0:8000
|