# Schema harvest output (TW-297)

Layout: `catalogs/schemas/{staging|prod}/{target}.json`

- **Format:** JSON
- **Contents:** INFORMATION_SCHEMA tables / columns / keys only
- **Never:** business row data, DSNs, passwords

Targets: `admin`, `shorty`, `adcenter`, `whale`, `keywords` (see `jobs/schema_harvest/allowlist.json`).

Both staging and prod live harvests are supported. See [`staging/README.md`](./staging/README.md) and `jobs/schema_harvest/README.md`.

```bash
# Fixture only (no DB):
npm run harvest:schemas -- --env staging --target admin \
  --fixture tests/fixtures/schema-harvest-admin.json

# Live staging Admin:
npm run harvest:schemas -- --env staging --target admin
# (requires SCHEMA_HARVEST_ADMIN_DSN_STAGING)

# Live prod Admin:
npm run harvest:schemas -- --env prod --target admin
# (requires SCHEMA_HARVEST_ALLOW_PROD=true + SCHEMA_HARVEST_ADMIN_DSN_PROD)
```
