51 lines
2.3 KiB
Bash
Executable File
51 lines
2.3 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
|
cd "$ROOT"
|
|
[[ -f .env ]] || { echo "missing .env" >&2; exit 2; }
|
|
source .venv/bin/activate
|
|
set -a; source .env; set +a
|
|
export PYTHONUNBUFFERED=1
|
|
|
|
MANIFEST="${CM95_FID_MANIFEST:-build/cm95_fid_manifest_v1.sqlite}"
|
|
PLAN="${CM95_COMPARE_PLAN:-build/production/cm95_postgresql_kyushu_compare_plan.json}"
|
|
RELEASE_ROOT="${CM95_COMPARE_RELEASE_ROOT:-build/releases-postgresql-compare}"
|
|
MYSQL_RELEASE="${CM95_MYSQL_COMPARE_RELEASE:-/root/sourceserver/cm95/build/releases-s52-v2/cm95-d1-62a85bd40d3a-2b2e7d976a43}"
|
|
WORKERS="${CM95_PBF_WORKERS:-4}"
|
|
S52_LOOKUPS="${CM95_S52_LOOKUPS:-resources/s52/lookup_rule_ir.json}"
|
|
S52_CONTRACT="${CM95_S52_RESOURCE_CONTRACT:-resources/s52/resource_contract.json}"
|
|
|
|
DATASET_ID="$(python - <<'PY'
|
|
from cm93db.config import load_config
|
|
from cm93db.database import connect
|
|
with connect(load_config()) as c:
|
|
with c.cursor() as cur:
|
|
cur.execute("SELECT id FROM chart_dataset WHERE source_type=%s ORDER BY id LIMIT 1",("CM93",))
|
|
row=cur.fetchone()
|
|
if not row: raise SystemExit("dataset not found")
|
|
print(int(row["id"]))
|
|
PY
|
|
)"
|
|
|
|
cm95pbf build-fid-manifest --dataset-id "$DATASET_ID" --manifest "$MANIFEST" --rebuild-fid-manifest
|
|
cm95pbf plan-production --dataset-id "$DATASET_ID" --zooms 5-12 --profile delivery \
|
|
--manifest "$MANIFEST" --s52-lookups "$S52_LOOKUPS" --s52-resource-contract "$S52_CONTRACT" \
|
|
--s52-point-table Paper --s52-boundary-table Plain --s52-mariner-mode runtime \
|
|
--aoi-name kyushu-main-nearby-v1 --aoi-bbox 128.0,29.5,132.5,34.8 \
|
|
--tile-enumeration-mode aoi-complete --output "$PLAN"
|
|
cm95pbf build-production --plan "$PLAN" --release-root "$RELEASE_ROOT" --workers "$WORKERS" --max-attempts 3
|
|
cm95pbf status-production --plan "$PLAN" --release-root "$RELEASE_ROOT"
|
|
cm95pbf finalize-production --plan "$PLAN" --release-root "$RELEASE_ROOT" --skip-style-contract
|
|
|
|
RELEASE_ID="$(python - "$PLAN" <<'PY'
|
|
import json,sys
|
|
print(json.load(open(sys.argv[1],encoding="utf-8"))["release_id"])
|
|
PY
|
|
)"
|
|
PG_PBF="$RELEASE_ROOT/$RELEASE_ID/pbf/delivery"
|
|
MYSQL_PBF="$MYSQL_RELEASE/pbf/delivery"
|
|
python tools/compare_pbf_trees.py "$MYSQL_PBF" "$PG_PBF" --output logs/mysql_postgresql_kyushu_pbf_compare.json
|
|
echo "POSTGRES_RELEASE_ID=$RELEASE_ID"
|
|
echo "POSTGRES_PBF=$PG_PBF"
|
|
echo "MYSQL_PBF=$MYSQL_PBF"
|