pipekit/config/modules/rm00101.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

737 lines
17 KiB
JSON

{
"name": "rm00101",
"source_connection": "sqlserver",
"dest_connection": "usmidsap02",
"dest_table": "gp.rm00101",
"staging_table": "pipekit_staging.rm00101",
"merge_strategy": "full",
"merge_key": null,
"enabled": 1,
"dest_description": "GP customer/salesperson/item master (broadened, migrated from /opt/sync 2026-07-21)",
"columns": [
{
"source_name": "CUSTNMBR",
"source_type": "CHAR(15)",
"dest_name": "custnmbr",
"dest_type": "text",
"description": null
},
{
"source_name": "CUSTNAME",
"source_type": "CHAR(65)",
"dest_name": "custname",
"dest_type": "text",
"description": null
},
{
"source_name": "COUNTRY",
"source_type": "CHAR(61)",
"dest_name": "country",
"dest_type": "text",
"description": null
},
{
"source_name": "STATE",
"source_type": "CHAR(29)",
"dest_name": "state",
"dest_type": "text",
"description": null
},
{
"source_name": "CITY",
"source_type": "CHAR(35)",
"dest_name": "city",
"dest_type": "text",
"description": null
},
{
"source_name": "USERDEF1",
"source_type": "CHAR(21)",
"dest_name": "userdef1",
"dest_type": "text",
"description": null
},
{
"source_name": "RATETPID",
"source_type": "CHAR(15)",
"dest_name": "ratetpid",
"dest_type": "text",
"description": null
},
{
"source_name": "PRCLEVEL",
"source_type": "CHAR(11)",
"dest_name": "prclevel",
"dest_type": "text",
"description": null
},
{
"source_name": "SLPRSNID",
"source_type": "CHAR(15)",
"dest_name": "slprsnid",
"dest_type": "text",
"description": null
},
{
"source_name": "CUSTCLAS",
"source_type": "CHAR(15)",
"dest_name": "custclas",
"dest_type": "text",
"description": null
},
{
"source_name": "CPRCSTNM",
"source_type": "CHAR(15)",
"dest_name": "cprcstnm",
"dest_type": "text",
"description": null
},
{
"source_name": "CNTCPRSN",
"source_type": "CHAR(61)",
"dest_name": "cntcprsn",
"dest_type": "text",
"description": null
},
{
"source_name": "STMTNAME",
"source_type": "CHAR(65)",
"dest_name": "stmtname",
"dest_type": "text",
"description": null
},
{
"source_name": "SHRTNAME",
"source_type": "CHAR(15)",
"dest_name": "shrtname",
"dest_type": "text",
"description": null
},
{
"source_name": "ADRSCODE",
"source_type": "CHAR(15)",
"dest_name": "adrscode",
"dest_type": "text",
"description": null
},
{
"source_name": "UPSZONE",
"source_type": "CHAR(3)",
"dest_name": "upszone",
"dest_type": "text",
"description": null
},
{
"source_name": "SHIPMTHD",
"source_type": "CHAR(15)",
"dest_name": "shipmthd",
"dest_type": "text",
"description": null
},
{
"source_name": "TAXSCHID",
"source_type": "CHAR(15)",
"dest_name": "taxschid",
"dest_type": "text",
"description": null
},
{
"source_name": "ADDRESS1",
"source_type": "CHAR(61)",
"dest_name": "address1",
"dest_type": "text",
"description": null
},
{
"source_name": "ADDRESS2",
"source_type": "CHAR(61)",
"dest_name": "address2",
"dest_type": "text",
"description": null
},
{
"source_name": "ADDRESS3",
"source_type": "CHAR(61)",
"dest_name": "address3",
"dest_type": "text",
"description": null
},
{
"source_name": "ZIP",
"source_type": "CHAR(11)",
"dest_name": "zip",
"dest_type": "text",
"description": null
},
{
"source_name": "PHONE1",
"source_type": "CHAR(21)",
"dest_name": "phone1",
"dest_type": "text",
"description": null
},
{
"source_name": "PHONE2",
"source_type": "CHAR(21)",
"dest_name": "phone2",
"dest_type": "text",
"description": null
},
{
"source_name": "PHONE3",
"source_type": "CHAR(21)",
"dest_name": "phone3",
"dest_type": "text",
"description": null
},
{
"source_name": "FAX",
"source_type": "CHAR(21)",
"dest_name": "fax",
"dest_type": "text",
"description": null
},
{
"source_name": "PRBTADCD",
"source_type": "CHAR(15)",
"dest_name": "prbtadcd",
"dest_type": "text",
"description": null
},
{
"source_name": "PRSTADCD",
"source_type": "CHAR(15)",
"dest_name": "prstadcd",
"dest_type": "text",
"description": null
},
{
"source_name": "STADDRCD",
"source_type": "CHAR(15)",
"dest_name": "staddrcd",
"dest_type": "text",
"description": null
},
{
"source_name": "CHEKBKID",
"source_type": "CHAR(15)",
"dest_name": "chekbkid",
"dest_type": "text",
"description": null
},
{
"source_name": "PYMTRMID",
"source_type": "CHAR(21)",
"dest_name": "pymtrmid",
"dest_type": "text",
"description": null
},
{
"source_name": "CRLMTTYP",
"source_type": "SMALLINT",
"dest_name": "crlmttyp",
"dest_type": "smallint",
"description": null
},
{
"source_name": "CRLMTAMT",
"source_type": "NUMERIC(19,5)",
"dest_name": "crlmtamt",
"dest_type": "numeric",
"description": null
},
{
"source_name": "CRLMTPER",
"source_type": "SMALLINT",
"dest_name": "crlmtper",
"dest_type": "smallint",
"description": null
},
{
"source_name": "CRLMTPAM",
"source_type": "NUMERIC(19,5)",
"dest_name": "crlmtpam",
"dest_type": "numeric",
"description": null
},
{
"source_name": "CURNCYID",
"source_type": "CHAR(15)",
"dest_name": "curncyid",
"dest_type": "text",
"description": null
},
{
"source_name": "CUSTDISC",
"source_type": "SMALLINT",
"dest_name": "custdisc",
"dest_type": "smallint",
"description": null
},
{
"source_name": "MINPYTYP",
"source_type": "SMALLINT",
"dest_name": "minpytyp",
"dest_type": "smallint",
"description": null
},
{
"source_name": "MINPYDLR",
"source_type": "NUMERIC(19,5)",
"dest_name": "minpydlr",
"dest_type": "numeric",
"description": null
},
{
"source_name": "MINPYPCT",
"source_type": "SMALLINT",
"dest_name": "minpypct",
"dest_type": "smallint",
"description": null
},
{
"source_name": "FNCHATYP",
"source_type": "SMALLINT",
"dest_name": "fnchatyp",
"dest_type": "smallint",
"description": null
},
{
"source_name": "FNCHPCNT",
"source_type": "SMALLINT",
"dest_name": "fnchpcnt",
"dest_type": "smallint",
"description": null
},
{
"source_name": "FINCHDLR",
"source_type": "NUMERIC(19,5)",
"dest_name": "finchdlr",
"dest_type": "numeric",
"description": null
},
{
"source_name": "MXWOFTYP",
"source_type": "SMALLINT",
"dest_name": "mxwoftyp",
"dest_type": "smallint",
"description": null
},
{
"source_name": "MXWROFAM",
"source_type": "NUMERIC(19,5)",
"dest_name": "mxwrofam",
"dest_type": "numeric",
"description": null
},
{
"source_name": "COMMENT1",
"source_type": "CHAR(31)",
"dest_name": "comment1",
"dest_type": "text",
"description": null
},
{
"source_name": "COMMENT2",
"source_type": "CHAR(31)",
"dest_name": "comment2",
"dest_type": "text",
"description": null
},
{
"source_name": "USERDEF2",
"source_type": "CHAR(21)",
"dest_name": "userdef2",
"dest_type": "text",
"description": null
},
{
"source_name": "TAXEXMT1",
"source_type": "CHAR(25)",
"dest_name": "taxexmt1",
"dest_type": "text",
"description": null
},
{
"source_name": "TAXEXMT2",
"source_type": "CHAR(25)",
"dest_name": "taxexmt2",
"dest_type": "text",
"description": null
},
{
"source_name": "TXRGNNUM",
"source_type": "CHAR(25)",
"dest_name": "txrgnnum",
"dest_type": "text",
"description": null
},
{
"source_name": "BALNCTYP",
"source_type": "SMALLINT",
"dest_name": "balnctyp",
"dest_type": "smallint",
"description": null
},
{
"source_name": "STMTCYCL",
"source_type": "SMALLINT",
"dest_name": "stmtcycl",
"dest_type": "smallint",
"description": null
},
{
"source_name": "BANKNAME",
"source_type": "CHAR(31)",
"dest_name": "bankname",
"dest_type": "text",
"description": null
},
{
"source_name": "BNKBRNCH",
"source_type": "CHAR(21)",
"dest_name": "bnkbrnch",
"dest_type": "text",
"description": null
},
{
"source_name": "SALSTERR",
"source_type": "CHAR(15)",
"dest_name": "salsterr",
"dest_type": "text",
"description": null
},
{
"source_name": "DEFCACTY",
"source_type": "SMALLINT",
"dest_name": "defcacty",
"dest_type": "smallint",
"description": null
},
{
"source_name": "RMCSHACC",
"source_type": "INT",
"dest_name": "rmcshacc",
"dest_type": "integer",
"description": null
},
{
"source_name": "RMARACC",
"source_type": "INT",
"dest_name": "rmaracc",
"dest_type": "integer",
"description": null
},
{
"source_name": "RMSLSACC",
"source_type": "INT",
"dest_name": "rmslsacc",
"dest_type": "integer",
"description": null
},
{
"source_name": "RMIVACC",
"source_type": "INT",
"dest_name": "rmivacc",
"dest_type": "integer",
"description": null
},
{
"source_name": "RMCOSACC",
"source_type": "INT",
"dest_name": "rmcosacc",
"dest_type": "integer",
"description": null
},
{
"source_name": "RMTAKACC",
"source_type": "INT",
"dest_name": "rmtakacc",
"dest_type": "integer",
"description": null
},
{
"source_name": "RMAVACC",
"source_type": "INT",
"dest_name": "rmavacc",
"dest_type": "integer",
"description": null
},
{
"source_name": "RMFCGACC",
"source_type": "INT",
"dest_name": "rmfcgacc",
"dest_type": "integer",
"description": null
},
{
"source_name": "RMWRACC",
"source_type": "INT",
"dest_name": "rmwracc",
"dest_type": "integer",
"description": null
},
{
"source_name": "RMSORACC",
"source_type": "INT",
"dest_name": "rmsoracc",
"dest_type": "integer",
"description": null
},
{
"source_name": "FRSTINDT",
"source_type": "DATETIME",
"dest_name": "frstindt",
"dest_type": "timestamp without time zone",
"description": null
},
{
"source_name": "INACTIVE",
"source_type": "TINYINT",
"dest_name": "inactive",
"dest_type": "smallint",
"description": null
},
{
"source_name": "HOLD",
"source_type": "TINYINT",
"dest_name": "hold",
"dest_type": "smallint",
"description": null
},
{
"source_name": "CRCARDID",
"source_type": "CHAR(15)",
"dest_name": "crcardid",
"dest_type": "text",
"description": null
},
{
"source_name": "CRCRDNUM",
"source_type": "CHAR(21)",
"dest_name": "crcrdnum",
"dest_type": "text",
"description": null
},
{
"source_name": "CCRDXPDT",
"source_type": "DATETIME",
"dest_name": "ccrdxpdt",
"dest_type": "timestamp without time zone",
"description": null
},
{
"source_name": "KPDSTHST",
"source_type": "TINYINT",
"dest_name": "kpdsthst",
"dest_type": "smallint",
"description": null
},
{
"source_name": "KPCALHST",
"source_type": "TINYINT",
"dest_name": "kpcalhst",
"dest_type": "smallint",
"description": null
},
{
"source_name": "KPERHIST",
"source_type": "TINYINT",
"dest_name": "kperhist",
"dest_type": "smallint",
"description": null
},
{
"source_name": "KPTRXHST",
"source_type": "TINYINT",
"dest_name": "kptrxhst",
"dest_type": "smallint",
"description": null
},
{
"source_name": "NOTEINDX",
"source_type": "NUMERIC(19,5)",
"dest_name": "noteindx",
"dest_type": "numeric",
"description": null
},
{
"source_name": "CREATDDT",
"source_type": "DATETIME",
"dest_name": "creatddt",
"dest_type": "timestamp without time zone",
"description": null
},
{
"source_name": "MODIFDT",
"source_type": "DATETIME",
"dest_name": "modifdt",
"dest_type": "timestamp without time zone",
"description": null
},
{
"source_name": "Revalue_Customer",
"source_type": "TINYINT",
"dest_name": "revalue_customer",
"dest_type": "smallint",
"description": null
},
{
"source_name": "Post_Results_To",
"source_type": "SMALLINT",
"dest_name": "post_results_to",
"dest_type": "smallint",
"description": null
},
{
"source_name": "FINCHID",
"source_type": "CHAR(15)",
"dest_name": "finchid",
"dest_type": "text",
"description": null
},
{
"source_name": "GOVCRPID",
"source_type": "CHAR(31)",
"dest_name": "govcrpid",
"dest_type": "text",
"description": null
},
{
"source_name": "GOVINDID",
"source_type": "CHAR(31)",
"dest_name": "govindid",
"dest_type": "text",
"description": null
},
{
"source_name": "DISGRPER",
"source_type": "SMALLINT",
"dest_name": "disgrper",
"dest_type": "smallint",
"description": null
},
{
"source_name": "DUEGRPER",
"source_type": "SMALLINT",
"dest_name": "duegrper",
"dest_type": "smallint",
"description": null
},
{
"source_name": "DOCFMTID",
"source_type": "CHAR(15)",
"dest_name": "docfmtid",
"dest_type": "text",
"description": null
},
{
"source_name": "Send_Email_Statements",
"source_type": "TINYINT",
"dest_name": "send_email_statements",
"dest_type": "smallint",
"description": null
},
{
"source_name": "USERLANG",
"source_type": "SMALLINT",
"dest_name": "userlang",
"dest_type": "smallint",
"description": null
},
{
"source_name": "GPSFOINTEGRATIONID",
"source_type": "CHAR(31)",
"dest_name": "gpsfointegrationid",
"dest_type": "text",
"description": null
},
{
"source_name": "INTEGRATIONSOURCE",
"source_type": "SMALLINT",
"dest_name": "integrationsource",
"dest_type": "smallint",
"description": null
},
{
"source_name": "INTEGRATIONID",
"source_type": "CHAR(31)",
"dest_name": "integrationid",
"dest_type": "text",
"description": null
},
{
"source_name": "ORDERFULFILLDEFAULT",
"source_type": "SMALLINT",
"dest_name": "orderfulfilldefault",
"dest_type": "smallint",
"description": null
},
{
"source_name": "CUSTPRIORITY",
"source_type": "SMALLINT",
"dest_name": "custpriority",
"dest_type": "smallint",
"description": null
},
{
"source_name": "CCode",
"source_type": "CHAR(7)",
"dest_name": "ccode",
"dest_type": "text",
"description": null
},
{
"source_name": "DECLID",
"source_type": "CHAR(15)",
"dest_name": "declid",
"dest_type": "text",
"description": null
},
{
"source_name": "RMOvrpymtWrtoffAcctIdx",
"source_type": "INT",
"dest_name": "rmovrpymtwrtoffacctidx",
"dest_type": "integer",
"description": null
},
{
"source_name": "SHIPCOMPLETE",
"source_type": "TINYINT",
"dest_name": "shipcomplete",
"dest_type": "smallint",
"description": null
},
{
"source_name": "CBVAT",
"source_type": "TINYINT",
"dest_name": "cbvat",
"dest_type": "smallint",
"description": null
},
{
"source_name": "INCLUDEINDP",
"source_type": "TINYINT",
"dest_name": "includeindp",
"dest_type": "smallint",
"description": null
},
{
"source_name": "DEX_ROW_TS",
"source_type": "DATETIME",
"dest_name": "dex_row_ts",
"dest_type": "timestamp without time zone",
"description": null
},
{
"source_name": "DEX_ROW_ID",
"source_type": "INT",
"dest_name": "dex_row_id",
"dest_type": "integer",
"description": null
}
],
"watermarks": [],
"hooks": []
}