mirror of
https://github.com/djdevin/recflare.git
synced 2026-09-08 14:41:28 -07:00
attempt to move d1 id out of vcs
This commit is contained in:
@@ -37,9 +37,32 @@ DIR=$(basename "$PWD")
|
||||
SUBDOMAIN=$(printf '%s' "$SUBDOMAINS_JSON" | jq -r --arg d "$DIR" '.[$d] // $d')
|
||||
HOST="$SUBDOMAIN.$DOMAIN"
|
||||
|
||||
# Resolve this worker's D1 database id from RECFLARE_D1 (a JSON object keyed by
|
||||
# the worker's directory name) and splice it into a generated config. The
|
||||
# committed wrangler.jsonc carries a "local" placeholder so it needs no
|
||||
# per-developer edits; the real id stays in the gitignored .env / CI secrets.
|
||||
# Workers without a D1 binding simply have no placeholder to replace.
|
||||
CONFIG="wrangler.jsonc"
|
||||
if grep -q '"database_id": *"local"' wrangler.jsonc 2>/dev/null; then
|
||||
D1_JSON=${RECFLARE_D1:-}
|
||||
[ -n "$D1_JSON" ] || D1_JSON='{}'
|
||||
DB_ID=$(printf '%s' "$D1_JSON" | jq -r --arg d "$DIR" '.[$d] // empty')
|
||||
if [ -z "$DB_ID" ]; then
|
||||
echo "error: no D1 id for '$DIR' in RECFLARE_D1 — add it to .env (see .env.example)" >&2
|
||||
exit 1
|
||||
fi
|
||||
CONFIG="wrangler.generated.jsonc"
|
||||
# Generated alongside the original so its relative paths (main, migrations_dir)
|
||||
# still resolve. Gitignored; removed on exit so `wrangler dev` is unaffected.
|
||||
trap 'rm -f wrangler.generated.jsonc' EXIT
|
||||
sed -E 's/("database_id"[[:space:]]*:[[:space:]]*")[^"]*(")/\1'"$DB_ID"'\2/' \
|
||||
wrangler.jsonc >wrangler.generated.jsonc
|
||||
fi
|
||||
|
||||
# Deploy with wrangler using the extracted values as binding variables
|
||||
echo "Deploying worker $NAME version $VERSION to $HOST"
|
||||
exec wrangler deploy \
|
||||
wrangler deploy \
|
||||
--config "$CONFIG" \
|
||||
--var NAME:"$NAME" \
|
||||
--var SENTRY_RELEASE:"$VERSION" \
|
||||
--var DOMAIN:"$DOMAIN" \
|
||||
|
||||
Reference in New Issue
Block a user