diff --git a/setup.sh b/setup.sh index c571fc4..bec5ce0 100644 --- a/setup.sh +++ b/setup.sh @@ -138,10 +138,25 @@ echo -e "${GREEN}✓ App container ready${NC}" echo "" # Step 6: Wait for database -if [ "$DB" = "mysql" ] || [ "$DB" = "pgsql" ]; then - echo -e "${YELLOW}→ Waiting for database...${NC}" - sleep 5 - echo -e "${GREEN}✓ Database ready${NC}" +if [ "$DB" = "mysql" ]; then + echo -e "${YELLOW}→ Waiting for MySQL to be ready...${NC}" + for i in {1..30}; do + if docker-compose exec -T app php -r "new PDO('mysql:host=mysql;dbname=laravel', 'laravel', 'secret');" >/dev/null 2>&1; then + echo -e "${GREEN}✓ MySQL ready${NC}" + break + fi + sleep 1 + done + echo "" +elif [ "$DB" = "pgsql" ]; then + echo -e "${YELLOW}→ Waiting for PostgreSQL to be ready...${NC}" + for i in {1..30}; do + if docker-compose exec -T app php -r "new PDO('pgsql:host=pgsql;dbname=laravel', 'laravel', 'secret');" >/dev/null 2>&1; then + echo -e "${GREEN}✓ PostgreSQL ready${NC}" + break + fi + sleep 1 + done echo "" fi