pipekit/config/modules/rm20101.json
Paul Trowbridge dd9f89f4b5 feat: version-control pipeline definitions via export/apply
Add `pipekit export` / `pipekit apply` (pipekit/config_io.py) to serialise the
DB's config — drivers, connections, modules (+ columns, watermarks, hooks),
groups, schedules — to a git-trackable text tree under config/, and rehydrate
it. SQLite stays runtime state; definitions become diffable/reviewable/
revertible.

- config only: run_log/group_run/settings and per-run state columns excluded
- name-keyed refs (portable across databases); source_query in .sql sidecars;
  columns as real JSON arrays for line-by-line diffs
- newline-normalised so CRLF-vs-LF is never a spurious change
- apply is create/update by name; child collections fully synced; top-level
  deletes gated behind --prune; --dry-run prints the plan
- round-trip is identity (export -> apply --dry-run == nothing to do)

Commits the current config/ as the first baseline, capturing the freshly
populated columns_json for rm00101/rm00301/iv00101. Documented in SPEC.md.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-22 10:56:55 -04:00

527 lines
12 KiB
JSON

{
"name": "rm20101",
"source_connection": "sqlserver",
"dest_connection": "usmidsap02",
"dest_table": "gp.rm20101",
"staging_table": "pipekit_staging.rm20101",
"merge_strategy": "full",
"merge_key": null,
"enabled": 1,
"dest_description": null,
"columns": [
{
"source_name": "CUSTNMBR",
"source_type": "CHAR(15)",
"dest_name": "custnmbr",
"dest_type": "text",
"description": null
},
{
"source_name": "CPRCSTNM",
"source_type": "CHAR(15)",
"dest_name": "cprcstnm",
"dest_type": "text",
"description": null
},
{
"source_name": "DOCNUMBR",
"source_type": "CHAR(21)",
"dest_name": "docnumbr",
"dest_type": "text",
"description": null
},
{
"source_name": "CHEKNMBR",
"source_type": "CHAR(21)",
"dest_name": "cheknmbr",
"dest_type": "text",
"description": null
},
{
"source_name": "BACHNUMB",
"source_type": "CHAR(15)",
"dest_name": "bachnumb",
"dest_type": "text",
"description": null
},
{
"source_name": "BCHSOURC",
"source_type": "CHAR(15)",
"dest_name": "bchsourc",
"dest_type": "text",
"description": null
},
{
"source_name": "TRXSORCE",
"source_type": "CHAR(13)",
"dest_name": "trxsorce",
"dest_type": "text",
"description": null
},
{
"source_name": "RMDTYPAL",
"source_type": "SMALLINT",
"dest_name": "rmdtypal",
"dest_type": "smallint",
"description": null
},
{
"source_name": "CSHRCTYP",
"source_type": "SMALLINT",
"dest_name": "cshrctyp",
"dest_type": "smallint",
"description": null
},
{
"source_name": "CBKIDCRD",
"source_type": "CHAR(15)",
"dest_name": "cbkidcrd",
"dest_type": "text",
"description": null
},
{
"source_name": "CBKIDCSH",
"source_type": "CHAR(15)",
"dest_name": "cbkidcsh",
"dest_type": "text",
"description": null
},
{
"source_name": "CBKIDCHK",
"source_type": "CHAR(15)",
"dest_name": "cbkidchk",
"dest_type": "text",
"description": null
},
{
"source_name": "DUEDATE",
"source_type": "DATETIME",
"dest_name": "duedate",
"dest_type": "timestamp",
"description": null
},
{
"source_name": "DOCDATE",
"source_type": "DATETIME",
"dest_name": "docdate",
"dest_type": "timestamp",
"description": null
},
{
"source_name": "POSTDATE",
"source_type": "DATETIME",
"dest_name": "postdate",
"dest_type": "timestamp",
"description": null
},
{
"source_name": "PSTUSRID",
"source_type": "CHAR(15)",
"dest_name": "pstusrid",
"dest_type": "text",
"description": null
},
{
"source_name": "GLPOSTDT",
"source_type": "DATETIME",
"dest_name": "glpostdt",
"dest_type": "timestamp",
"description": null
},
{
"source_name": "LSTEDTDT",
"source_type": "DATETIME",
"dest_name": "lstedtdt",
"dest_type": "timestamp",
"description": null
},
{
"source_name": "LSTUSRED",
"source_type": "CHAR(15)",
"dest_name": "lstusred",
"dest_type": "text",
"description": null
},
{
"source_name": "ORTRXAMT",
"source_type": "NUMERIC(19,5)",
"dest_name": "ortrxamt",
"dest_type": "numeric(19,5)",
"description": null
},
{
"source_name": "CURTRXAM",
"source_type": "NUMERIC(19,5)",
"dest_name": "curtrxam",
"dest_type": "numeric(19,5)",
"description": null
},
{
"source_name": "SLSAMNT",
"source_type": "NUMERIC(19,5)",
"dest_name": "slsamnt",
"dest_type": "numeric(19,5)",
"description": null
},
{
"source_name": "COSTAMNT",
"source_type": "NUMERIC(19,5)",
"dest_name": "costamnt",
"dest_type": "numeric(19,5)",
"description": null
},
{
"source_name": "FRTAMNT",
"source_type": "NUMERIC(19,5)",
"dest_name": "frtamnt",
"dest_type": "numeric(19,5)",
"description": null
},
{
"source_name": "MISCAMNT",
"source_type": "NUMERIC(19,5)",
"dest_name": "miscamnt",
"dest_type": "numeric(19,5)",
"description": null
},
{
"source_name": "TAXAMNT",
"source_type": "NUMERIC(19,5)",
"dest_name": "taxamnt",
"dest_type": "numeric(19,5)",
"description": null
},
{
"source_name": "COMDLRAM",
"source_type": "NUMERIC(19,5)",
"dest_name": "comdlram",
"dest_type": "numeric(19,5)",
"description": null
},
{
"source_name": "CASHAMNT",
"source_type": "NUMERIC(19,5)",
"dest_name": "cashamnt",
"dest_type": "numeric(19,5)",
"description": null
},
{
"source_name": "DISTKNAM",
"source_type": "NUMERIC(19,5)",
"dest_name": "distknam",
"dest_type": "numeric(19,5)",
"description": null
},
{
"source_name": "DISAVAMT",
"source_type": "NUMERIC(19,5)",
"dest_name": "disavamt",
"dest_type": "numeric(19,5)",
"description": null
},
{
"source_name": "DISAVTKN",
"source_type": "NUMERIC(19,5)",
"dest_name": "disavtkn",
"dest_type": "numeric(19,5)",
"description": null
},
{
"source_name": "DISCRTND",
"source_type": "NUMERIC(19,5)",
"dest_name": "discrtnd",
"dest_type": "numeric(19,5)",
"description": null
},
{
"source_name": "DISCDATE",
"source_type": "DATETIME",
"dest_name": "discdate",
"dest_type": "timestamp",
"description": null
},
{
"source_name": "DSCDLRAM",
"source_type": "NUMERIC(19,5)",
"dest_name": "dscdlram",
"dest_type": "numeric(19,5)",
"description": null
},
{
"source_name": "DSCPCTAM",
"source_type": "SMALLINT",
"dest_name": "dscpctam",
"dest_type": "smallint",
"description": null
},
{
"source_name": "WROFAMNT",
"source_type": "NUMERIC(19,5)",
"dest_name": "wrofamnt",
"dest_type": "numeric(19,5)",
"description": null
},
{
"source_name": "TRXDSCRN",
"source_type": "CHAR(31)",
"dest_name": "trxdscrn",
"dest_type": "text",
"description": null
},
{
"source_name": "CSPORNBR",
"source_type": "CHAR(21)",
"dest_name": "cspornbr",
"dest_type": "text",
"description": null
},
{
"source_name": "SLPRSNID",
"source_type": "CHAR(15)",
"dest_name": "slprsnid",
"dest_type": "text",
"description": null
},
{
"source_name": "SLSTERCD",
"source_type": "CHAR(15)",
"dest_name": "slstercd",
"dest_type": "text",
"description": null
},
{
"source_name": "DINVPDOF",
"source_type": "DATETIME",
"dest_name": "dinvpdof",
"dest_type": "timestamp",
"description": null
},
{
"source_name": "PPSAMDED",
"source_type": "NUMERIC(19,5)",
"dest_name": "ppsamded",
"dest_type": "numeric(19,5)",
"description": null
},
{
"source_name": "GSTDSAMT",
"source_type": "NUMERIC(19,5)",
"dest_name": "gstdsamt",
"dest_type": "numeric(19,5)",
"description": null
},
{
"source_name": "DELETE1",
"source_type": "TINYINT",
"dest_name": "delete1",
"dest_type": "smallint",
"description": null
},
{
"source_name": "AGNGBUKT",
"source_type": "SMALLINT",
"dest_name": "agngbukt",
"dest_type": "smallint",
"description": null
},
{
"source_name": "VOIDSTTS",
"source_type": "SMALLINT",
"dest_name": "voidstts",
"dest_type": "smallint",
"description": null
},
{
"source_name": "VOIDDATE",
"source_type": "DATETIME",
"dest_name": "voiddate",
"dest_type": "timestamp",
"description": null
},
{
"source_name": "TAXSCHID",
"source_type": "CHAR(15)",
"dest_name": "taxschid",
"dest_type": "text",
"description": null
},
{
"source_name": "CURNCYID",
"source_type": "CHAR(15)",
"dest_name": "curncyid",
"dest_type": "text",
"description": null
},
{
"source_name": "PYMTRMID",
"source_type": "CHAR(21)",
"dest_name": "pymtrmid",
"dest_type": "text",
"description": null
},
{
"source_name": "SHIPMTHD",
"source_type": "CHAR(15)",
"dest_name": "shipmthd",
"dest_type": "text",
"description": null
},
{
"source_name": "TRDISAMT",
"source_type": "NUMERIC(19,5)",
"dest_name": "trdisamt",
"dest_type": "numeric(19,5)",
"description": null
},
{
"source_name": "SLSCHDID",
"source_type": "CHAR(15)",
"dest_name": "slschdid",
"dest_type": "text",
"description": null
},
{
"source_name": "FRTSCHID",
"source_type": "CHAR(15)",
"dest_name": "frtschid",
"dest_type": "text",
"description": null
},
{
"source_name": "MSCSCHID",
"source_type": "CHAR(15)",
"dest_name": "mscschid",
"dest_type": "text",
"description": null
},
{
"source_name": "NOTEINDX",
"source_type": "NUMERIC(19,5)",
"dest_name": "noteindx",
"dest_type": "numeric(19,5)",
"description": null
},
{
"source_name": "Tax_Date",
"source_type": "DATETIME",
"dest_name": "tax_date",
"dest_type": "timestamp",
"description": null
},
{
"source_name": "APLYWITH",
"source_type": "TINYINT",
"dest_name": "aplywith",
"dest_type": "smallint",
"description": null
},
{
"source_name": "SALEDATE",
"source_type": "DATETIME",
"dest_name": "saledate",
"dest_type": "timestamp",
"description": null
},
{
"source_name": "CORRCTN",
"source_type": "TINYINT",
"dest_name": "corrctn",
"dest_type": "smallint",
"description": null
},
{
"source_name": "SIMPLIFD",
"source_type": "TINYINT",
"dest_name": "simplifd",
"dest_type": "smallint",
"description": null
},
{
"source_name": "Electronic",
"source_type": "TINYINT",
"dest_name": "electronic",
"dest_type": "smallint",
"description": null
},
{
"source_name": "ECTRX",
"source_type": "TINYINT",
"dest_name": "ectrx",
"dest_type": "smallint",
"description": null
},
{
"source_name": "BKTSLSAM",
"source_type": "NUMERIC(19,5)",
"dest_name": "bktslsam",
"dest_type": "numeric(19,5)",
"description": null
},
{
"source_name": "BKTFRTAM",
"source_type": "NUMERIC(19,5)",
"dest_name": "bktfrtam",
"dest_type": "numeric(19,5)",
"description": null
},
{
"source_name": "BKTMSCAM",
"source_type": "NUMERIC(19,5)",
"dest_name": "bktmscam",
"dest_type": "numeric(19,5)",
"description": null
},
{
"source_name": "BackoutTradeDisc",
"source_type": "NUMERIC(19,5)",
"dest_name": "backouttradedisc",
"dest_type": "numeric(19,5)",
"description": null
},
{
"source_name": "Factoring",
"source_type": "TINYINT",
"dest_name": "factoring",
"dest_type": "smallint",
"description": null
},
{
"source_name": "DIRECTDEBIT",
"source_type": "TINYINT",
"dest_name": "directdebit",
"dest_type": "smallint",
"description": null
},
{
"source_name": "ADRSCODE",
"source_type": "CHAR(15)",
"dest_name": "adrscode",
"dest_type": "text",
"description": null
},
{
"source_name": "EFTFLAG",
"source_type": "TINYINT",
"dest_name": "eftflag",
"dest_type": "smallint",
"description": null
},
{
"source_name": "DEX_ROW_TS",
"source_type": "DATETIME",
"dest_name": "dex_row_ts",
"dest_type": "timestamp",
"description": null
},
{
"source_name": "DEX_ROW_ID",
"source_type": "INT",
"dest_name": "dex_row_id",
"dest_type": "integer",
"description": null
}
],
"watermarks": [],
"hooks": []
}