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

933 lines
23 KiB
JSON

{
"name": "oih",
"source_connection": "S78030956",
"dest_connection": "usmidsap02",
"dest_table": "cms.oih",
"staging_table": "pipekit_staging.oih",
"merge_strategy": "incremental",
"merge_key": "dhinv#",
"enabled": 1,
"dest_description": "Invoice Header File 6.1",
"columns": [
{
"source_name": "DHINV#",
"source_type": "NUMERIC(9,0)",
"dest_name": "dhinv#",
"dest_type": "numeric(9,0)",
"description": "Invoice Number"
},
{
"source_name": "DHIDAT",
"source_type": "DATE",
"dest_name": "dhidat",
"dest_type": "date",
"description": "Invoice Date"
},
{
"source_name": "DHPTCP",
"source_type": "CHAR(1)",
"dest_name": "dhptcp",
"dest_type": "text",
"description": "Complete/ Partial"
},
{
"source_name": "DHCONS",
"source_type": "CHAR(1)",
"dest_name": "dhcons",
"dest_type": "text",
"description": "Consolidated (Y/N)"
},
{
"source_name": "DHPOST",
"source_type": "CHAR(1)",
"dest_name": "dhpost",
"dest_type": "text",
"description": "Invoice Posted to A/R G/L"
},
{
"source_name": "DHBCS#",
"source_type": "CHAR(8)",
"dest_name": "dhbcs#",
"dest_type": "text",
"description": "Bill-to Customer"
},
{
"source_name": "DHSCS#",
"source_type": "CHAR(8)",
"dest_name": "dhscs#",
"dest_type": "text",
"description": "Ship-to Customer"
},
{
"source_name": "DHBNAM",
"source_type": "CHAR(30)",
"dest_name": "dhbnam",
"dest_type": "text",
"description": "Bill-to Name"
},
{
"source_name": "DHBPOS",
"source_type": "CHAR(30)",
"dest_name": "dhbpos",
"dest_type": "text",
"description": "Bill-to Post Code"
},
{
"source_name": "DHATTN",
"source_type": "CHAR(25)",
"dest_name": "dhattn",
"dest_type": "text",
"description": "Attention"
},
{
"source_name": "DHTRCD",
"source_type": "CHAR(2)",
"dest_name": "dhtrcd",
"dest_type": "text",
"description": "Terms Code"
},
{
"source_name": "DHRINV",
"source_type": "NUMERIC(9,0)",
"dest_name": "dhrinv",
"dest_type": "numeric(9,0)",
"description": "Reference Invoice"
},
{
"source_name": "DHNU12",
"source_type": "CHAR(12)",
"dest_name": "dhnu12",
"dest_type": "text",
"description": "Used By Cash OE"
},
{
"source_name": "DHFTAM",
"source_type": "NUMERIC(10,2)",
"dest_name": "dhftam",
"dest_type": "numeric(10,2)",
"description": "Total Prepaid Freight"
},
{
"source_name": "DHSNAM",
"source_type": "CHAR(30)",
"dest_name": "dhsnam",
"dest_type": "text",
"description": "Ship-to Name"
},
{
"source_name": "DHSAD1",
"source_type": "CHAR(35)",
"dest_name": "dhsad1",
"dest_type": "text",
"description": "Ship-to Address1"
},
{
"source_name": "DHSAD2",
"source_type": "CHAR(35)",
"dest_name": "dhsad2",
"dest_type": "text",
"description": "Ship-to Address2"
},
{
"source_name": "DHSAD3",
"source_type": "CHAR(35)",
"dest_name": "dhsad3",
"dest_type": "text",
"description": "Ship-to Address3"
},
{
"source_name": "DHSAD4",
"source_type": "CHAR(35)",
"dest_name": "dhsad4",
"dest_type": "text",
"description": "Ship-to Address4"
},
{
"source_name": "DHSAD5",
"source_type": "CHAR(35)",
"dest_name": "dhsad5",
"dest_type": "text",
"description": "Ship-to Address5"
},
{
"source_name": "DHSAD6",
"source_type": "CHAR(35)",
"dest_name": "dhsad6",
"dest_type": "text",
"description": "Ship-to Address6"
},
{
"source_name": "DHSAD7",
"source_type": "CHAR(35)",
"dest_name": "dhsad7",
"dest_type": "text",
"description": "Ship-to Address7"
},
{
"source_name": "DHSAD8",
"source_type": "CHAR(35)",
"dest_name": "dhsad8",
"dest_type": "text",
"description": "Ship-to Address8"
},
{
"source_name": "DHSAD9",
"source_type": "CHAR(35)",
"dest_name": "dhsad9",
"dest_type": "text",
"description": "Ship-to Address9"
},
{
"source_name": "DHSAD10",
"source_type": "CHAR(35)",
"dest_name": "dhsad10",
"dest_type": "text",
"description": "Ship-to Address10"
},
{
"source_name": "DHSPOS",
"source_type": "CHAR(30)",
"dest_name": "dhspos",
"dest_type": "text",
"description": "Ship-to Post Code"
},
{
"source_name": "DHSCTY",
"source_type": "CHAR(30)",
"dest_name": "dhscty",
"dest_type": "text",
"description": "Shipto City"
},
{
"source_name": "DHSPOV",
"source_type": "CHAR(3)",
"dest_name": "dhspov",
"dest_type": "text",
"description": "Shipto State/ Province Code"
},
{
"source_name": "DHSCRY",
"source_type": "CHAR(3)",
"dest_name": "dhscry",
"dest_type": "text",
"description": "Shipto Country Code"
},
{
"source_name": "DHCPO",
"source_type": "CHAR(30)",
"dest_name": "dhcpo",
"dest_type": "text",
"description": "Customer Purchase Order"
},
{
"source_name": "DHQUOT",
"source_type": "CHAR(12)",
"dest_name": "dhquot",
"dest_type": "text",
"description": "Quote Number"
},
{
"source_name": "DHCURR",
"source_type": "CHAR(2)",
"dest_name": "dhcurr",
"dest_type": "text",
"description": "Currency Code"
},
{
"source_name": "DHSDAT",
"source_type": "DATE",
"dest_name": "dhsdat",
"dest_type": "date",
"description": "Ship Date"
},
{
"source_name": "DHSHVI",
"source_type": "CHAR(30)",
"dest_name": "dhshvi",
"dest_type": "text",
"description": "Ship Via"
},
{
"source_name": "DHSLMN",
"source_type": "CHAR(5)",
"dest_name": "dhslmn",
"dest_type": "text",
"description": "Salesman Code"
},
{
"source_name": "DHCPCT",
"source_type": "NUMERIC(4,2)",
"dest_name": "dhcpct",
"dest_type": "numeric(4,2)",
"description": "Commission percentage"
},
{
"source_name": "DHCRAT",
"source_type": "NUMERIC(5,2)",
"dest_name": "dhcrat",
"dest_type": "numeric(5,2)",
"description": "Commission rate"
},
{
"source_name": "DHNU5",
"source_type": "CHAR(5)",
"dest_name": "dhnu5",
"dest_type": "text",
"description": "time zone"
},
{
"source_name": "DHFSTL",
"source_type": "CHAR(20)",
"dest_name": "dhfstl",
"dest_type": "text",
"description": "FST Licence Number"
},
{
"source_name": "DHPSTL",
"source_type": "CHAR(20)",
"dest_name": "dhpstl",
"dest_type": "text",
"description": "PST Licence Number"
},
{
"source_name": "DHPPCL",
"source_type": "CHAR(1)",
"dest_name": "dhppcl",
"dest_type": "text",
"description": "Prepaid Collect"
},
{
"source_name": "DHBMOD",
"source_type": "CHAR(1)",
"dest_name": "dhbmod",
"dest_type": "text",
"description": "blank-std, D-dep, F-final"
},
{
"source_name": "DHPRTS",
"source_type": "CHAR(1)",
"dest_name": "dhprts",
"dest_type": "text",
"description": "Invoice Printed"
},
{
"source_name": "DHBOLN",
"source_type": "NUMERIC(9,0)",
"dest_name": "dhboln",
"dest_type": "numeric(9,0)",
"description": "BOL Number"
},
{
"source_name": "DHPACK",
"source_type": "CHAR(30)",
"dest_name": "dhpack",
"dest_type": "text",
"description": "Packing Slip No"
},
{
"source_name": "DHINCR",
"source_type": "CHAR(1)",
"dest_name": "dhincr",
"dest_type": "text",
"description": "Invoice Credit"
},
{
"source_name": "DHORD#",
"source_type": "NUMERIC(9,0)",
"dest_name": "dhord#",
"dest_type": "numeric(9,0)",
"description": "Customer Order Number"
},
{
"source_name": "DHTOTI",
"source_type": "DECIMAL(11,2)",
"dest_name": "dhtoti",
"dest_type": "numeric(11,2)",
"description": "Include FST & PST"
},
{
"source_name": "DHTOTD",
"source_type": "DECIMAL(11,2)",
"dest_name": "dhtotd",
"dest_type": "numeric(11,2)",
"description": "Total Discount"
},
{
"source_name": "DHTPST",
"source_type": "DECIMAL(11,2)",
"dest_name": "dhtpst",
"dest_type": "numeric(11,2)",
"description": "Total PST"
},
{
"source_name": "DHTFST",
"source_type": "DECIMAL(11,2)",
"dest_name": "dhtfst",
"dest_type": "numeric(11,2)",
"description": "Total FST"
},
{
"source_name": "DHTTAX",
"source_type": "DECIMAL(11,2)",
"dest_name": "dhttax",
"dest_type": "numeric(11,2)",
"description": "Total Tax"
},
{
"source_name": "DHTCST",
"source_type": "DECIMAL(11,2)",
"dest_name": "dhtcst",
"dest_type": "numeric(11,2)",
"description": "Total Cost"
},
{
"source_name": "DHTOTL",
"source_type": "CHAR(1)",
"dest_name": "dhtotl",
"dest_type": "text",
"description": "Invoice Totaled"
},
{
"source_name": "DHPSTR",
"source_type": "NUMERIC(4,2)",
"dest_name": "dhpstr",
"dest_type": "numeric(4,2)",
"description": "PST Rate"
},
{
"source_name": "DHSTKR",
"source_type": "CHAR(6)",
"dest_name": "dhstkr",
"dest_type": "text",
"description": "Warehouse Location"
},
{
"source_name": "DHPROV",
"source_type": "CHAR(3)",
"dest_name": "dhprov",
"dest_type": "text",
"description": "Province /State Code"
},
{
"source_name": "DHCTRY",
"source_type": "CHAR(3)",
"dest_name": "dhctry",
"dest_type": "text",
"description": "Country Code"
},
{
"source_name": "DHBOLP",
"source_type": "CHAR(1)",
"dest_name": "dhbolp",
"dest_type": "text",
"description": "BOL Printed"
},
{
"source_name": "DHTAX",
"source_type": "CHAR(1)",
"dest_name": "dhtax",
"dest_type": "text",
"description": "Tax Code"
},
{
"source_name": "DHPSTC",
"source_type": "CHAR(1)",
"dest_name": "dhpstc",
"dest_type": "text",
"description": "PST Code"
},
{
"source_name": "DHTERR",
"source_type": "CHAR(4)",
"dest_name": "dhterr",
"dest_type": "text",
"description": "Territory Code"
},
{
"source_name": "DHHBCK",
"source_type": "NUMERIC(2,0)",
"dest_name": "dhhbck",
"dest_type": "numeric(2,0)",
"description": "Holdback Percent"
},
{
"source_name": "DHHDAT",
"source_type": "DATE",
"dest_name": "dhhdat",
"dest_type": "date",
"description": "Holdback Due Date"
},
{
"source_name": "DHARYR",
"source_type": "NUMERIC(2,0)",
"dest_name": "dharyr",
"dest_type": "numeric(2,0)",
"description": "A/R Year"
},
{
"source_name": "DHARPR",
"source_type": "NUMERIC(2,0)",
"dest_name": "dharpr",
"dest_type": "numeric(2,0)",
"description": "A/R Period"
},
{
"source_name": "DHEXRT",
"source_type": "DECIMAL(11,6)",
"dest_name": "dhexrt",
"dest_type": "numeric(11,6)",
"description": "Currency Exchange"
},
{
"source_name": "DHEDIS",
"source_type": "CHAR(1)",
"dest_name": "dhedis",
"dest_type": "text",
"description": "EDI Send Status"
},
{
"source_name": "DHEDIA",
"source_type": "CHAR(1)",
"dest_name": "dhedia",
"dest_type": "text",
"description": "EDI Acknowledge Status"
},
{
"source_name": "DHEDAT",
"source_type": "DATE",
"dest_name": "dhedat",
"dest_type": "date",
"description": "EDI Send Date"
},
{
"source_name": "DHADAT",
"source_type": "DATE",
"dest_name": "dhadat",
"dest_type": "date",
"description": "EDI Ack Date"
},
{
"source_name": "DHSTOR",
"source_type": "CHAR(17)",
"dest_name": "dhstor",
"dest_type": "text",
"description": "Future Use"
},
{
"source_name": "DHFOBC",
"source_type": "CHAR(3)",
"dest_name": "dhfobc",
"dest_type": "text",
"description": "FOB Code"
},
{
"source_name": "DHSLCS",
"source_type": "CHAR(8)",
"dest_name": "dhslcs",
"dest_type": "text",
"description": "Sold from Customer"
},
{
"source_name": "DHCRTY",
"source_type": "CHAR(1)",
"dest_name": "dhcrty",
"dest_type": "text",
"description": "Need authorization"
},
{
"source_name": "DHCRDT",
"source_type": "CHAR(2)",
"dest_name": "dhcrdt",
"dest_type": "text",
"description": "Credit card code"
},
{
"source_name": "DHCRD#",
"source_type": "CHAR(16)",
"dest_name": "dhcrd#",
"dest_type": "text",
"description": "Obsoleted"
},
{
"source_name": "DHEXPR",
"source_type": "CHAR(8)",
"dest_name": "dhexpr",
"dest_type": "text",
"description": "Obsoleted"
},
{
"source_name": "DHHODR",
"source_type": "CHAR(30)",
"dest_name": "dhhodr",
"dest_type": "text",
"description": "Obsoleted"
},
{
"source_name": "DHCRNM",
"source_type": "NUMERIC(10,2)",
"dest_name": "dhcrnm",
"dest_type": "numeric(10,2)",
"description": "Need Authorized Amount"
},
{
"source_name": "DHFUT1",
"source_type": "CHAR(10)",
"dest_name": "dhfut1",
"dest_type": "text",
"description": "Future Use"
},
{
"source_name": "DHFUT2",
"source_type": "CHAR(10)",
"dest_name": "dhfut2",
"dest_type": "text",
"description": "Future Use"
},
{
"source_name": "DHFUT3",
"source_type": "CHAR(10)",
"dest_name": "dhfut3",
"dest_type": "text",
"description": "Future Use"
},
{
"source_name": "DHFUT4",
"source_type": "CHAR(20)",
"dest_name": "dhfut4",
"dest_type": "text",
"description": "Future Use"
},
{
"source_name": "DHFUT5",
"source_type": "CHAR(30)",
"dest_name": "dhfut5",
"dest_type": "text",
"description": "Future Use"
},
{
"source_name": "DHFUT6",
"source_type": "NUMERIC(15,5)",
"dest_name": "dhfut6",
"dest_type": "numeric(15,5)",
"description": "Future Use"
},
{
"source_name": "DHFLG1",
"source_type": "CHAR(1)",
"dest_name": "dhflg1",
"dest_type": "text",
"description": "Future Use"
},
{
"source_name": "DHFLG2",
"source_type": "CHAR(1)",
"dest_name": "dhflg2",
"dest_type": "text",
"description": "Future Use"
},
{
"source_name": "DHFLG3",
"source_type": "CHAR(1)",
"dest_name": "dhflg3",
"dest_type": "text",
"description": "Future Use"
},
{
"source_name": "DHFLG4",
"source_type": "CHAR(1)",
"dest_name": "dhflg4",
"dest_type": "text",
"description": "Future Use"
},
{
"source_name": "DHFLG5",
"source_type": "CHAR(1)",
"dest_name": "dhflg5",
"dest_type": "text",
"description": "Future Use"
},
{
"source_name": "DHCLEN",
"source_type": "CHAR(20)",
"dest_name": "dhclen",
"dest_type": "text",
"description": "Customer Client Number"
},
{
"source_name": "DHPLNT",
"source_type": "CHAR(3)",
"dest_name": "dhplnt",
"dest_type": "text",
"description": "Plant Code"
},
{
"source_name": "DHCOMP",
"source_type": "NUMERIC(2,0)",
"dest_name": "dhcomp",
"dest_type": "numeric(2,0)",
"description": "Company Number"
},
{
"source_name": "DHSTCN",
"source_type": "CHAR(8)",
"dest_name": "dhstcn",
"dest_type": "text",
"description": "Ship-To Consumer"
},
{
"source_name": "DHDLRC",
"source_type": "CHAR(10)",
"dest_name": "dhdlrc",
"dest_type": "text",
"description": "Dealer Code"
},
{
"source_name": "DHDDSR",
"source_type": "CHAR(10)",
"dest_name": "dhddsr",
"dest_type": "text",
"description": "Dealer Dir. Sales Ref#"
},
{
"source_name": "DHEREF",
"source_type": "CHAR(20)",
"dest_name": "dheref",
"dest_type": "text",
"description": "External Reference"
},
{
"source_name": "DHYYPP",
"source_type": "NUMERIC(4,0)",
"dest_name": "dhyypp",
"dest_type": "numeric(4,0)",
"description": "G/L Year G/L Period"
},
{
"source_name": "DHSTTP",
"source_type": "CHAR(1)",
"dest_name": "dhsttp",
"dest_type": "text",
"description": "Ship-To Type"
},
{
"source_name": "DHDDIR",
"source_type": "CHAR(1)",
"dest_name": "dhddir",
"dest_type": "text",
"description": "Dealer Direct"
},
{
"source_name": "DHDEXP",
"source_type": "CHAR(1)",
"dest_name": "dhdexp",
"dest_type": "text",
"description": "Domestic Export Sale"
},
{
"source_name": "DHVSXF",
"source_type": "CHAR(1)",
"dest_name": "dhvsxf",
"dest_type": "text",
"description": "Created from Virtual Sales"
},
{
"source_name": "DHRBIV",
"source_type": "CHAR(1)",
"dest_name": "dhrbiv",
"dest_type": "text",
"description": "Retro Billing Invoice Type"
},
{
"source_name": "DHPUSR",
"source_type": "CHAR(10)",
"dest_name": "dhpusr",
"dest_type": "text",
"description": "Posted By"
},
{
"source_name": "DHPDAT",
"source_type": "DATE",
"dest_name": "dhpdat",
"dest_type": "date",
"description": "Posted Date"
},
{
"source_name": "DHPTIM",
"source_type": "NUMERIC(6,0)",
"dest_name": "dhptim",
"dest_type": "numeric(6,0)",
"description": "Posted Time"
},
{
"source_name": "DHREF3",
"source_type": "CHAR(30)",
"dest_name": "dhref3",
"dest_type": "text",
"description": "Invoice Shipment Reference"
},
{
"source_name": "DHITIM",
"source_type": "NUMERIC(4,0)",
"dest_name": "dhitim",
"dest_type": "numeric(4,0)",
"description": "Invoice Time HHSS"
},
{
"source_name": "DHHLDP",
"source_type": "CHAR(1)",
"dest_name": "dhhldp",
"dest_type": "text",
"description": "Hold From Posting"
},
{
"source_name": "DHBBORD",
"source_type": "CHAR(1)",
"dest_name": "dhbbord",
"dest_type": "text",
"description": "Bill By Order"
},
{
"source_name": "DHPBBORD",
"source_type": "CHAR(1)",
"dest_name": "dhpbbord",
"dest_type": "text",
"description": "Post Bill by Order Invoice"
},
{
"source_name": "DHFUT7",
"source_type": "CHAR(1)",
"dest_name": "dhfut7",
"dest_type": "text",
"description": "Future Use"
},
{
"source_name": "DHFUT8",
"source_type": "CHAR(1)",
"dest_name": "dhfut8",
"dest_type": "text",
"description": "Future Use"
},
{
"source_name": "DHFUT9",
"source_type": "CHAR(1)",
"dest_name": "dhfut9",
"dest_type": "text",
"description": "Future Use"
},
{
"source_name": "DHFUT10",
"source_type": "CHAR(1)",
"dest_name": "dhfut10",
"dest_type": "text",
"description": "Future Use"
},
{
"source_name": "DHFUT11",
"source_type": "CHAR(10)",
"dest_name": "dhfut11",
"dest_type": "text",
"description": "GLIC Key"
},
{
"source_name": "DHFUT12",
"source_type": "CHAR(10)",
"dest_name": "dhfut12",
"dest_type": "text",
"description": "Future Use"
},
{
"source_name": "DHFUT13",
"source_type": "CHAR(10)",
"dest_name": "dhfut13",
"dest_type": "text",
"description": "Future Use"
},
{
"source_name": "DHFUT14",
"source_type": "CHAR(10)",
"dest_name": "dhfut14",
"dest_type": "text",
"description": "Future Use"
},
{
"source_name": "DHFUT15",
"source_type": "CHAR(20)",
"dest_name": "dhfut15",
"dest_type": "text",
"description": "Manual Override Exchange Rate"
},
{
"source_name": "DHFUT16",
"source_type": "CHAR(20)",
"dest_name": "dhfut16",
"dest_type": "text",
"description": "Future Use"
},
{
"source_name": "DHFUT17",
"source_type": "CHAR(20)",
"dest_name": "dhfut17",
"dest_type": "text",
"description": "Future Use"
},
{
"source_name": "DHFUT18",
"source_type": "CHAR(30)",
"dest_name": "dhfut18",
"dest_type": "text",
"description": "Future Use"
},
{
"source_name": "DHFUT19",
"source_type": "CHAR(30)",
"dest_name": "dhfut19",
"dest_type": "text",
"description": "Future Use"
},
{
"source_name": "DHFUT20",
"source_type": "NUMERIC(15,5)",
"dest_name": "dhfut20",
"dest_type": "numeric(15,5)",
"description": "A/R Century+Year"
},
{
"source_name": "DHFUT21",
"source_type": "NUMERIC(15,5)",
"dest_name": "dhfut21",
"dest_type": "numeric(15,5)",
"description": "G/L Century+Year+Period"
},
{
"source_name": "DHFUT22",
"source_type": "NUMERIC(15,5)",
"dest_name": "dhfut22",
"dest_type": "numeric(15,5)",
"description": "Future Use"
},
{
"source_name": "DHFUT23",
"source_type": "NUMERIC(15,5)",
"dest_name": "dhfut23",
"dest_type": "numeric(15,5)",
"description": "Future Use"
},
{
"source_name": "DHFUT24",
"source_type": "NUMERIC(15,5)",
"dest_name": "dhfut24",
"dest_type": "numeric(15,5)",
"description": "Future Use"
}
],
"watermarks": [
{
"name": "oih_wm",
"connection": "usmidsap02",
"resolver_sql": "SELECT COALESCE(MAX(dhidat), DATE '1900-01-01') - 30 FROM cms.oih WHERE dhidat <= CURRENT_DATE",
"default_value": null
}
],
"hooks": []
}