41 lines
1.4 KiB
Bash
41 lines
1.4 KiB
Bash
#!/bin/bash
|
|
# Script to update DATABASE_URL with connection pool parameters
|
|
|
|
ENV_FILE=".env"
|
|
|
|
if [ ! -f "$ENV_FILE" ]; then
|
|
echo "❌ Error: .env file not found"
|
|
exit 1
|
|
fi
|
|
|
|
# Check if DATABASE_URL already has connection_limit
|
|
if grep -q "connection_limit" "$ENV_FILE"; then
|
|
echo "⚠️ DATABASE_URL already contains connection_limit parameter"
|
|
echo "Current DATABASE_URL:"
|
|
grep "DATABASE_URL" "$ENV_FILE"
|
|
exit 0
|
|
fi
|
|
|
|
# Backup the file
|
|
cp "$ENV_FILE" "$ENV_FILE.bak"
|
|
echo "✅ Created backup: $ENV_FILE.bak"
|
|
|
|
# Update DATABASE_URL
|
|
# This will add connection_limit=10&pool_timeout=20&connect_timeout=10 to the URL
|
|
if [[ "$OSTYPE" == "darwin"* ]]; then
|
|
# macOS
|
|
sed -i '' 's|DATABASE_URL="\(.*\)"|DATABASE_URL="\1\&connection_limit=10\&pool_timeout=20\&connect_timeout=10"|' "$ENV_FILE"
|
|
sed -i '' 's|DATABASE_URL="\(.*\)?\(.*\)"|DATABASE_URL="\1?\2\&connection_limit=10\&pool_timeout=20\&connect_timeout=10"|' "$ENV_FILE"
|
|
else
|
|
# Linux
|
|
sed -i 's|DATABASE_URL="\(.*\)"|DATABASE_URL="\1\&connection_limit=10\&pool_timeout=20\&connect_timeout=10"|' "$ENV_FILE"
|
|
sed -i 's|DATABASE_URL="\(.*\)?\(.*\)"|DATABASE_URL="\1?\2\&connection_limit=10\&pool_timeout=20\&connect_timeout=10"|' "$ENV_FILE"
|
|
fi
|
|
|
|
echo "✅ Updated DATABASE_URL with connection pool parameters"
|
|
echo ""
|
|
echo "New DATABASE_URL:"
|
|
grep "DATABASE_URL" "$ENV_FILE"
|
|
echo ""
|
|
echo "⚠️ Please review the changes and test the connection"
|