baa-conductor

git clone 

baa-conductor / ops / cloudflare
im_wower  ·  2026-03-22

apply-control-api-d1-migrations.sh

 1#!/usr/bin/env bash
 2set -euo pipefail
 3
 4SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
 5REPO_ROOT="$(cd "${SCRIPT_DIR}/../.." && pwd)"
 6APP_DIR="${REPO_ROOT}/apps/control-api-worker"
 7CONFIG_PATH="${APP_DIR}/wrangler.jsonc"
 8
 9if [[ ! -f "${CONFIG_PATH}" ]]; then
10  echo "wrangler config not found: ${CONFIG_PATH}" >&2
11  exit 1
12fi
13
14DEFAULT_DATABASE_NAME="$(sed -n 's/.*"database_name"[[:space:]]*:[[:space:]]*"\([^"]*\)".*/\1/p' "${CONFIG_PATH}" | head -n 1)"
15DATABASE_NAME="${1:-${DEFAULT_DATABASE_NAME}}"
16
17if [[ -z "${DATABASE_NAME}" ]]; then
18  echo "Unable to determine database_name from ${CONFIG_PATH}." >&2
19  exit 1
20fi
21
22shift $(( $# > 0 ? 1 : 0 ))
23
24cd "${APP_DIR}"
25npx --yes wrangler@4 d1 migrations apply "${DATABASE_NAME}" --config wrangler.jsonc --remote "$@"