Files
convex-monorepo/scripts/db/down
T

31 lines
1.1 KiB
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
SCRIPT_DIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)"
ROOT_DIR="$(cd -- "$SCRIPT_DIR/../.." && pwd)"
COMPOSE_FILE="$ROOT_DIR/docker/compose.local.yml"
STATE_FILE="$ROOT_DIR/.local/dev.generated.env"
WIPE=false
[ "${1:-}" = "--wipe" ] && WIPE=true
if command -v docker >/dev/null 2>&1; then RUNTIME=docker
elif command -v podman >/dev/null 2>&1; then RUNTIME=podman
else echo "Docker or Podman not found; nothing to stop." >&2; exit 0; fi
ENV_FILE="$(mktemp "${TMPDIR:-/tmp}/convex-monorepo-local.XXXXXX.env")"
trap 'rm -f "$ENV_FILE"' EXIT
sh "$ROOT_DIR/scripts/export-env" dev > "$ENV_FILE"
if [ "$WIPE" = true ]; then
"$RUNTIME" compose --env-file "$ENV_FILE" -f "$COMPOSE_FILE" down -v
if [ -f "$STATE_FILE" ]; then
tmp="${STATE_FILE}.tmp"
grep -v '^CONVEX_SELF_HOSTED_ADMIN_KEY=' "$STATE_FILE" > "$tmp" || true
mv "$tmp" "$STATE_FILE"
fi
echo "Local stack and Convex data volume removed; generated admin key cleared."
else
"$RUNTIME" compose --env-file "$ENV_FILE" -f "$COMPOSE_FILE" down
echo "Local stack stopped; Convex data preserved."
fi