Skip to content

Commit 71a3af3

Browse files
committed
make init better
1 parent a6b1a3f commit 71a3af3

File tree

1 file changed

+25
-8
lines changed
  • test-django-admin-query-perf

1 file changed

+25
-8
lines changed

test-django-admin-query-perf/init.sh

Lines changed: 25 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,23 @@ fi
1010

1111
# Start PostgreSQL database in Docker
1212
echo "Starting PostgreSQL database in Docker..."
13-
docker run -d \
14-
--name postgres-demo \
15-
-e POSTGRES_DB=demo \
16-
-e POSTGRES_USER=admin \
17-
-e POSTGRES_PASSWORD=admin \
18-
-p 5439:5432 \
19-
postgres:15
13+
14+
# Check if container exists and is running
15+
if docker ps --filter "name=postgres-demo" --filter "status=running" --format "{{.Names}}" | grep -q "postgres-demo"; then
16+
echo "PostgreSQL container is already running"
17+
elif docker ps -a --filter "name=postgres-demo" --format "{{.Names}}" | grep -q "postgres-demo"; then
18+
echo "PostgreSQL container exists but is stopped, starting it..."
19+
docker start postgres-demo
20+
else
21+
echo "Creating new PostgreSQL container..."
22+
docker run -d \
23+
--name postgres-demo \
24+
-e POSTGRES_DB=demo \
25+
-e POSTGRES_USER=admin \
26+
-e POSTGRES_PASSWORD=admin \
27+
-p 5439:5432 \
28+
postgres:15
29+
fi
2030

2131
# Wait for PostgreSQL to be ready
2232
echo "Waiting for PostgreSQL to be ready..."
@@ -33,7 +43,14 @@ export DJANGO_SUPERUSER_USERNAME=admin
3343
3444
export DJANGO_SUPERUSER_PASSWORD=admin
3545

36-
uv run ./manage.py createsuperuser --noinput
46+
# Check if admin user already exists
47+
echo "Checking if admin user exists..."
48+
if uv run ./manage.py shell -c "from django.contrib.auth.models import User; exit(0 if User.objects.filter(username='admin').exists() else 1)"; then
49+
echo "Admin user already exists, skipping creation"
50+
else
51+
echo "Creating admin user..."
52+
uv run ./manage.py createsuperuser --noinput
53+
fi
3754
echo "Username: admin"
3855
echo "Password: admin"
3956

0 commit comments

Comments
 (0)