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

639 lines
15 KiB
JSON

{
"name": "iv00101",
"source_connection": "sqlserver",
"dest_connection": "usmidsap02",
"dest_table": "gp.iv00101",
"staging_table": "pipekit_staging.iv00101",
"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": "ITEMNMBR",
"source_type": "CHAR(31)",
"dest_name": "itemnmbr",
"dest_type": "text",
"description": null
},
{
"source_name": "ITEMDESC",
"source_type": "CHAR(101)",
"dest_name": "itemdesc",
"dest_type": "text",
"description": null
},
{
"source_name": "ITMSHNAM",
"source_type": "CHAR(15)",
"dest_name": "itmshnam",
"dest_type": "text",
"description": null
},
{
"source_name": "ITMCLSCD",
"source_type": "CHAR(11)",
"dest_name": "itmclscd",
"dest_type": "text",
"description": null
},
{
"source_name": "UOMSCHDL",
"source_type": "CHAR(11)",
"dest_name": "uomschdl",
"dest_type": "text",
"description": null
},
{
"source_name": "CURRCOST",
"source_type": "NUMERIC(19,5)",
"dest_name": "currcost",
"dest_type": "numeric",
"description": null
},
{
"source_name": "STNDCOST",
"source_type": "NUMERIC(19,5)",
"dest_name": "stndcost",
"dest_type": "numeric",
"description": null
},
{
"source_name": "NOTEINDX",
"source_type": "NUMERIC(19,5)",
"dest_name": "noteindx",
"dest_type": "numeric",
"description": null
},
{
"source_name": "ITEMTYPE",
"source_type": "SMALLINT",
"dest_name": "itemtype",
"dest_type": "smallint",
"description": null
},
{
"source_name": "ITMGEDSC",
"source_type": "CHAR(11)",
"dest_name": "itmgedsc",
"dest_type": "text",
"description": null
},
{
"source_name": "ITEMSHWT",
"source_type": "INT",
"dest_name": "itemshwt",
"dest_type": "integer",
"description": null
},
{
"source_name": "DECPLQTY",
"source_type": "SMALLINT",
"dest_name": "decplqty",
"dest_type": "smallint",
"description": null
},
{
"source_name": "DECPLCUR",
"source_type": "SMALLINT",
"dest_name": "decplcur",
"dest_type": "smallint",
"description": null
},
{
"source_name": "ITMTSHID",
"source_type": "CHAR(15)",
"dest_name": "itmtshid",
"dest_type": "text",
"description": null
},
{
"source_name": "TAXOPTNS",
"source_type": "SMALLINT",
"dest_name": "taxoptns",
"dest_type": "smallint",
"description": null
},
{
"source_name": "IVIVINDX",
"source_type": "INT",
"dest_name": "ivivindx",
"dest_type": "integer",
"description": null
},
{
"source_name": "IVIVOFIX",
"source_type": "INT",
"dest_name": "ivivofix",
"dest_type": "integer",
"description": null
},
{
"source_name": "IVCOGSIX",
"source_type": "INT",
"dest_name": "ivcogsix",
"dest_type": "integer",
"description": null
},
{
"source_name": "IVSLSIDX",
"source_type": "INT",
"dest_name": "ivslsidx",
"dest_type": "integer",
"description": null
},
{
"source_name": "IVSLDSIX",
"source_type": "INT",
"dest_name": "ivsldsix",
"dest_type": "integer",
"description": null
},
{
"source_name": "IVSLRNIX",
"source_type": "INT",
"dest_name": "ivslrnix",
"dest_type": "integer",
"description": null
},
{
"source_name": "IVINUSIX",
"source_type": "INT",
"dest_name": "ivinusix",
"dest_type": "integer",
"description": null
},
{
"source_name": "IVINSVIX",
"source_type": "INT",
"dest_name": "ivinsvix",
"dest_type": "integer",
"description": null
},
{
"source_name": "IVDMGIDX",
"source_type": "INT",
"dest_name": "ivdmgidx",
"dest_type": "integer",
"description": null
},
{
"source_name": "IVVARIDX",
"source_type": "INT",
"dest_name": "ivvaridx",
"dest_type": "integer",
"description": null
},
{
"source_name": "DPSHPIDX",
"source_type": "INT",
"dest_name": "dpshpidx",
"dest_type": "integer",
"description": null
},
{
"source_name": "PURPVIDX",
"source_type": "INT",
"dest_name": "purpvidx",
"dest_type": "integer",
"description": null
},
{
"source_name": "UPPVIDX",
"source_type": "INT",
"dest_name": "uppvidx",
"dest_type": "integer",
"description": null
},
{
"source_name": "IVRETIDX",
"source_type": "INT",
"dest_name": "ivretidx",
"dest_type": "integer",
"description": null
},
{
"source_name": "ASMVRIDX",
"source_type": "INT",
"dest_name": "asmvridx",
"dest_type": "integer",
"description": null
},
{
"source_name": "ITMTRKOP",
"source_type": "SMALLINT",
"dest_name": "itmtrkop",
"dest_type": "smallint",
"description": null
},
{
"source_name": "LOTTYPE",
"source_type": "CHAR(11)",
"dest_name": "lottype",
"dest_type": "text",
"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": "KPCALHST",
"source_type": "TINYINT",
"dest_name": "kpcalhst",
"dest_type": "smallint",
"description": null
},
{
"source_name": "KPDSTHST",
"source_type": "TINYINT",
"dest_name": "kpdsthst",
"dest_type": "smallint",
"description": null
},
{
"source_name": "ALWBKORD",
"source_type": "TINYINT",
"dest_name": "alwbkord",
"dest_type": "smallint",
"description": null
},
{
"source_name": "VCTNMTHD",
"source_type": "SMALLINT",
"dest_name": "vctnmthd",
"dest_type": "smallint",
"description": null
},
{
"source_name": "ALTITEM1",
"source_type": "CHAR(31)",
"dest_name": "altitem1",
"dest_type": "text",
"description": null
},
{
"source_name": "ALTITEM2",
"source_type": "CHAR(31)",
"dest_name": "altitem2",
"dest_type": "text",
"description": null
},
{
"source_name": "USCATVLS_1",
"source_type": "CHAR(11)",
"dest_name": "uscatvls_1",
"dest_type": "text",
"description": null
},
{
"source_name": "USCATVLS_2",
"source_type": "CHAR(11)",
"dest_name": "uscatvls_2",
"dest_type": "text",
"description": null
},
{
"source_name": "USCATVLS_3",
"source_type": "CHAR(11)",
"dest_name": "uscatvls_3",
"dest_type": "text",
"description": null
},
{
"source_name": "USCATVLS_4",
"source_type": "CHAR(11)",
"dest_name": "uscatvls_4",
"dest_type": "text",
"description": null
},
{
"source_name": "USCATVLS_5",
"source_type": "CHAR(11)",
"dest_name": "uscatvls_5",
"dest_type": "text",
"description": null
},
{
"source_name": "USCATVLS_6",
"source_type": "CHAR(11)",
"dest_name": "uscatvls_6",
"dest_type": "text",
"description": null
},
{
"source_name": "MSTRCDTY",
"source_type": "SMALLINT",
"dest_name": "mstrcdty",
"dest_type": "smallint",
"description": null
},
{
"source_name": "MODIFDT",
"source_type": "DATETIME",
"dest_name": "modifdt",
"dest_type": "timestamp without time zone",
"description": null
},
{
"source_name": "CREATDDT",
"source_type": "DATETIME",
"dest_name": "creatddt",
"dest_type": "timestamp without time zone",
"description": null
},
{
"source_name": "WRNTYDYS",
"source_type": "SMALLINT",
"dest_name": "wrntydys",
"dest_type": "smallint",
"description": null
},
{
"source_name": "PRCLEVEL",
"source_type": "CHAR(11)",
"dest_name": "prclevel",
"dest_type": "text",
"description": null
},
{
"source_name": "LOCNCODE",
"source_type": "CHAR(11)",
"dest_name": "locncode",
"dest_type": "text",
"description": null
},
{
"source_name": "PINFLIDX",
"source_type": "INT",
"dest_name": "pinflidx",
"dest_type": "integer",
"description": null
},
{
"source_name": "PURMCIDX",
"source_type": "INT",
"dest_name": "purmcidx",
"dest_type": "integer",
"description": null
},
{
"source_name": "IVINFIDX",
"source_type": "INT",
"dest_name": "ivinfidx",
"dest_type": "integer",
"description": null
},
{
"source_name": "INVMCIDX",
"source_type": "INT",
"dest_name": "invmcidx",
"dest_type": "integer",
"description": null
},
{
"source_name": "CGSINFLX",
"source_type": "INT",
"dest_name": "cgsinflx",
"dest_type": "integer",
"description": null
},
{
"source_name": "CGSMCIDX",
"source_type": "INT",
"dest_name": "cgsmcidx",
"dest_type": "integer",
"description": null
},
{
"source_name": "ITEMCODE",
"source_type": "CHAR(15)",
"dest_name": "itemcode",
"dest_type": "text",
"description": null
},
{
"source_name": "TCC",
"source_type": "CHAR(31)",
"dest_name": "tcc",
"dest_type": "text",
"description": null
},
{
"source_name": "PriceGroup",
"source_type": "CHAR(11)",
"dest_name": "pricegroup",
"dest_type": "text",
"description": null
},
{
"source_name": "PRICMTHD",
"source_type": "SMALLINT",
"dest_name": "pricmthd",
"dest_type": "smallint",
"description": null
},
{
"source_name": "PRCHSUOM",
"source_type": "CHAR(9)",
"dest_name": "prchsuom",
"dest_type": "text",
"description": null
},
{
"source_name": "SELNGUOM",
"source_type": "CHAR(9)",
"dest_name": "selnguom",
"dest_type": "text",
"description": null
},
{
"source_name": "KTACCTSR",
"source_type": "SMALLINT",
"dest_name": "ktacctsr",
"dest_type": "smallint",
"description": null
},
{
"source_name": "LASTGENSN",
"source_type": "CHAR(21)",
"dest_name": "lastgensn",
"dest_type": "text",
"description": null
},
{
"source_name": "ABCCODE",
"source_type": "SMALLINT",
"dest_name": "abccode",
"dest_type": "smallint",
"description": null
},
{
"source_name": "Revalue_Inventory",
"source_type": "TINYINT",
"dest_name": "revalue_inventory",
"dest_type": "smallint",
"description": null
},
{
"source_name": "Tolerance_Percentage",
"source_type": "INT",
"dest_name": "tolerance_percentage",
"dest_type": "integer",
"description": null
},
{
"source_name": "Purchase_Item_Tax_Schedu",
"source_type": "CHAR(15)",
"dest_name": "purchase_item_tax_schedu",
"dest_type": "text",
"description": null
},
{
"source_name": "Purchase_Tax_Options",
"source_type": "SMALLINT",
"dest_name": "purchase_tax_options",
"dest_type": "smallint",
"description": null
},
{
"source_name": "ITMPLNNNGTYP",
"source_type": "SMALLINT",
"dest_name": "itmplnnngtyp",
"dest_type": "smallint",
"description": null
},
{
"source_name": "STTSTCLVLPRCNTG",
"source_type": "SMALLINT",
"dest_name": "sttstclvlprcntg",
"dest_type": "smallint",
"description": null
},
{
"source_name": "CNTRYORGN",
"source_type": "CHAR(7)",
"dest_name": "cntryorgn",
"dest_type": "text",
"description": null
},
{
"source_name": "INACTIVE",
"source_type": "TINYINT",
"dest_name": "inactive",
"dest_type": "smallint",
"description": null
},
{
"source_name": "MINSHELF1",
"source_type": "SMALLINT",
"dest_name": "minshelf1",
"dest_type": "smallint",
"description": null
},
{
"source_name": "MINSHELF2",
"source_type": "SMALLINT",
"dest_name": "minshelf2",
"dest_type": "smallint",
"description": null
},
{
"source_name": "INCLUDEINDP",
"source_type": "TINYINT",
"dest_name": "includeindp",
"dest_type": "smallint",
"description": null
},
{
"source_name": "LOTEXPWARN",
"source_type": "TINYINT",
"dest_name": "lotexpwarn",
"dest_type": "smallint",
"description": null
},
{
"source_name": "LOTEXPWARNDAYS",
"source_type": "SMALLINT",
"dest_name": "lotexpwarndays",
"dest_type": "smallint",
"description": null
},
{
"source_name": "LASTGENLOT",
"source_type": "CHAR(21)",
"dest_name": "lastgenlot",
"dest_type": "text",
"description": null
},
{
"source_name": "Lot_Split_Quantity",
"source_type": "NUMERIC(19,5)",
"dest_name": "lot_split_quantity",
"dest_type": "numeric",
"description": null
},
{
"source_name": "UseQtyOverageTolerance",
"source_type": "TINYINT",
"dest_name": "useqtyoveragetolerance",
"dest_type": "smallint",
"description": null
},
{
"source_name": "UseQtyShortageTolerance",
"source_type": "TINYINT",
"dest_name": "useqtyshortagetolerance",
"dest_type": "smallint",
"description": null
},
{
"source_name": "QtyOverTolerancePercent",
"source_type": "INT",
"dest_name": "qtyovertolerancepercent",
"dest_type": "integer",
"description": null
},
{
"source_name": "QtyShortTolerancePercent",
"source_type": "INT",
"dest_name": "qtyshorttolerancepercent",
"dest_type": "integer",
"description": null
},
{
"source_name": "IVSCRVIX",
"source_type": "INT",
"dest_name": "ivscrvix",
"dest_type": "integer",
"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": []
}