Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion migrations/rst/sql/V1.1.82__recreation_asset.sql
Original file line number Diff line number Diff line change
Expand Up @@ -204,7 +204,7 @@ select setup_temporal_table('rst', 'recreation_asset_repair', false);



create table rst.recreation_asset_geom
create table rst.recreation_asset_geomx
(
asset_id bigint not null primary key,
geometry_type_code varchar(3),
Expand Down
6 changes: 5 additions & 1 deletion ops/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,11 @@
"private": true,
"scripts": {
"sync-advisories": "tsx src/advisories/sync-advisories.ts",
"export-closed-resources": "tsx src/closures/export-closed-resources.ts"
"export-closed-resources": "tsx src/closures/export-closed-resources.ts",
"migrate-fta-assets": "tsx src/assets/sync-assets.ts",
"sync-assets": "tsx src/assets/sync-assets.ts",
"sync-assets-clean": "tsx src/assets/sync-assets.ts --clean",
"sync-repairs": "tsx src/assets/sync-repairs.ts"
},
"dependencies": {
"@aws-sdk/client-guardduty": "^3.992.0",
Expand Down
47 changes: 47 additions & 0 deletions ops/src/assets/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
# Asset sync – migrate FTA structure data into RST recreation_asset table
# Run from the repo root OR from ops/src/assets/
#
# Set required environment variables before running:
# export PGPASSWORD='<your-db-password>'
# export DATABASE_URL='postgresql://sysadmin@localhost:5433/rst'

SHELL := /usr/bin/env bash
ROOT := $(shell git rev-parse --show-toplevel 2>/dev/null || echo "../../..")

OPS := $(ROOT)/ops

.PHONY: sync-assets
sync-assets: ## Sync FTA structures into rst.recreation_asset
@cd "$(OPS)" && npx tsx src/assets/sync-assets.ts $(ARGS)

.PHONY: sync-assets-clean
sync-assets-clean: ## Truncate rst.recreation_asset then re-sync all assets from FTA
@cd "$(OPS)" && npx tsx src/assets/sync-assets.ts --clean $(ARGS)

.PHONY: sync-assets-dry
sync-assets-dry: ## Dry run – validate FTA data without writing to the RST database
@cd "$(OPS)" && npx tsx src/assets/sync-assets.ts --dry-run $(ARGS)

.PHONY: sync-repairs
sync-repairs: ## Sync FTA repair data into rst.recreation_asset_repair (structures + campsites)
@cd "$(OPS)" && npx tsx src/assets/sync-repairs.ts $(ARGS)

.PHONY: sync-repairs-with-trails
sync-repairs-with-trails: ## Sync FTA repair data including trail segment repairs
@cd "$(OPS)" && npx tsx src/assets/sync-repairs.ts --no-skip-trails $(ARGS)

.PHONY: sync-repairs-clean
sync-repairs-clean: ## Truncate rst.recreation_asset_repair then re-sync all repairs from FTA
@cd "$(OPS)" && npx tsx src/assets/sync-repairs.ts --clean $(ARGS)

.PHONY: sync-repairs-dry
sync-repairs-dry: ## Dry run – validate repair data without writing to RST
@cd "$(OPS)" && npx tsx src/assets/sync-repairs.ts --dry-run $(ARGS)

.PHONY: sync-all
sync-all: sync-assets-clean sync-repairs-clean ## Full re-sync: assets then repairs (structures + campsites)
@echo "Full sync complete"

.PHONY: sync-all-with-trails
sync-all-with-trails: sync-assets-clean sync-repairs-clean sync-repairs-with-trails ## Full re-sync including trails
@echo "Full sync (with trails) complete"
Loading
Loading