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

576 lines
14 KiB
JSON

{
"name": "marktable",
"source_connection": "S78030956",
"dest_connection": "usmidsap02",
"dest_table": "cms.marktable",
"staging_table": "pipekit_staging.marktable",
"merge_strategy": "full",
"merge_key": null,
"enabled": 1,
"dest_description": "Marketing Product Specs File",
"columns": [
{
"source_name": "M1PROD",
"source_type": "CHAR(10)",
"dest_name": "m1prod",
"dest_type": "text",
"description": "Product"
},
{
"source_name": "M1SDES",
"source_type": "CHAR(30)",
"dest_name": "m1sdes",
"dest_type": "text",
"description": "Product Short Description"
},
{
"source_name": "M1LDES",
"source_type": "CHAR(75)",
"dest_name": "m1ldes",
"dest_type": "text",
"description": "Product Long Description"
},
{
"source_name": "M1MAJG",
"source_type": "CHAR(3)",
"dest_name": "m1majg",
"dest_type": "text",
"description": "Major Group"
},
{
"source_name": "M1MING",
"source_type": "CHAR(3)",
"dest_name": "m1ming",
"dest_type": "text",
"description": "Minor Group"
},
{
"source_name": "M1MJSP",
"source_type": "CHAR(3)",
"dest_name": "m1mjsp",
"dest_type": "text",
"description": "Major Sales"
},
{
"source_name": "M1MNSP",
"source_type": "CHAR(3)",
"dest_name": "m1mnsp",
"dest_type": "text",
"description": "Minor Sales"
},
{
"source_name": "M1TRDS",
"source_type": "CHAR(10)",
"dest_name": "m1trds",
"dest_type": "text",
"description": "Trade Size"
},
{
"source_name": "M1HSZE",
"source_type": "NUMERIC(6,2)",
"dest_name": "m1hsze",
"dest_type": "numeric(6,2)",
"description": "Hanger Size"
},
{
"source_name": "M1CCFG",
"source_type": "CHAR(20)",
"dest_name": "m1ccfg",
"dest_type": "text",
"description": "Cell Configuration"
},
{
"source_name": "M1SYMB",
"source_type": "CHAR(15)",
"dest_name": "m1symb",
"dest_type": "text",
"description": "Symbol"
},
{
"source_name": "M1TSLT",
"source_type": "CHAR(1)",
"dest_name": "m1tslt",
"dest_type": "text",
"description": "Tag Slot"
},
{
"source_name": "M1STAT",
"source_type": "CHAR(1)",
"dest_name": "m1stat",
"dest_type": "text",
"description": "Product Status"
},
{
"source_name": "M1WGHT",
"source_type": "DECIMAL(8,5)",
"dest_name": "m1wght",
"dest_type": "numeric(8,5)",
"description": "Weight"
},
{
"source_name": "M1WUNT",
"source_type": "CHAR(2)",
"dest_name": "m1wunt",
"dest_type": "text",
"description": "Weight Unit"
},
{
"source_name": "M1MDCIU",
"source_type": "NUMERIC(10,2)",
"dest_name": "m1mdciu",
"dest_type": "numeric(10,2)",
"description": "Max Dry"
},
{
"source_name": "M1MLUUU",
"source_type": "NUMERIC(10,2)",
"dest_name": "m1mluuu",
"dest_type": "numeric(10,2)",
"description": "Max Liquid metric and Unit"
},
{
"source_name": "M1ODU",
"source_type": "NUMERIC(10,2)",
"dest_name": "m1odu",
"dest_type": "numeric(10,2)",
"description": "Outside Dimensions"
},
{
"source_name": "M1IDU",
"source_type": "NUMERIC(10,2)",
"dest_name": "m1idu",
"dest_type": "numeric(10,2)",
"description": "Inside Dimensions"
},
{
"source_name": "M1HTU",
"source_type": "NUMERIC(10,2)",
"dest_name": "m1htu",
"dest_type": "numeric(10,2)",
"description": "Height"
},
{
"source_name": "M1OWIU",
"source_type": "NUMERIC(10,2)",
"dest_name": "m1owiu",
"dest_type": "numeric(10,2)",
"description": "Outside Width"
},
{
"source_name": "M1OLIU",
"source_type": "NUMERIC(10,2)",
"dest_name": "m1oliu",
"dest_type": "numeric(10,2)",
"description": "Outside Length"
},
{
"source_name": "M1IWIU",
"source_type": "NUMERIC(10,2)",
"dest_name": "m1iwiu",
"dest_type": "numeric(10,2)",
"description": "Inside Width"
},
{
"source_name": "M1ILIU",
"source_type": "NUMERIC(10,2)",
"dest_name": "m1iliu",
"dest_type": "numeric(10,2)",
"description": "Inside Length"
},
{
"source_name": "M1PSU",
"source_type": "CHAR(14)",
"dest_name": "m1psu",
"dest_type": "text",
"description": "Pallet Size"
},
{
"source_name": "M1PHU",
"source_type": "NUMERIC(10,2)",
"dest_name": "m1phu",
"dest_type": "numeric(10,2)",
"description": "Pallet Height"
},
{
"source_name": "M1MDUOMU",
"source_type": "CHAR(5)",
"dest_name": "m1mduomu",
"dest_type": "text",
"description": "Max Dry UOM"
},
{
"source_name": "M1MLUOMU",
"source_type": "CHAR(5)",
"dest_name": "m1mluomu",
"dest_type": "text",
"description": "Max Liquid UOM"
},
{
"source_name": "M1ODUOMU",
"source_type": "CHAR(5)",
"dest_name": "m1oduomu",
"dest_type": "text",
"description": "Outside Dimensions UOM"
},
{
"source_name": "M1IDUOMU",
"source_type": "CHAR(5)",
"dest_name": "m1iduomu",
"dest_type": "text",
"description": "Inside Dimensions UOM"
},
{
"source_name": "M1HUOMU",
"source_type": "CHAR(5)",
"dest_name": "m1huomu",
"dest_type": "text",
"description": "Height UOM"
},
{
"source_name": "M1OLWOMU",
"source_type": "CHAR(5)",
"dest_name": "m1olwomu",
"dest_type": "text",
"description": "Outside Width UOM"
},
{
"source_name": "M1OLUOMU",
"source_type": "CHAR(5)",
"dest_name": "m1oluomu",
"dest_type": "text",
"description": "Outside Length UOM"
},
{
"source_name": "M1IWUOMU",
"source_type": "CHAR(5)",
"dest_name": "m1iwuomu",
"dest_type": "text",
"description": "Inside Width UOM"
},
{
"source_name": "M1ILUOMU",
"source_type": "CHAR(5)",
"dest_name": "m1iluomu",
"dest_type": "text",
"description": "Inside Length UOM"
},
{
"source_name": "M1PHUOMU",
"source_type": "CHAR(5)",
"dest_name": "m1phuomu",
"dest_type": "text",
"description": "Pallet Height UOM"
},
{
"source_name": "M1MDCIM",
"source_type": "NUMERIC(11,5)",
"dest_name": "m1mdcim",
"dest_type": "numeric(11,5)",
"description": "Max Dry"
},
{
"source_name": "M1MLUUM",
"source_type": "NUMERIC(10,2)",
"dest_name": "m1mluum",
"dest_type": "numeric(10,2)",
"description": "Max Liquid metric and Unit"
},
{
"source_name": "M1ODM",
"source_type": "NUMERIC(10,2)",
"dest_name": "m1odm",
"dest_type": "numeric(10,2)",
"description": "Outside Dimensions"
},
{
"source_name": "M1IDM",
"source_type": "NUMERIC(10,2)",
"dest_name": "m1idm",
"dest_type": "numeric(10,2)",
"description": "Inside Dimensions"
},
{
"source_name": "M1HTM",
"source_type": "NUMERIC(10,2)",
"dest_name": "m1htm",
"dest_type": "numeric(10,2)",
"description": "Height"
},
{
"source_name": "M1OWIM",
"source_type": "NUMERIC(10,2)",
"dest_name": "m1owim",
"dest_type": "numeric(10,2)",
"description": "Outside Width"
},
{
"source_name": "M1OLIM",
"source_type": "NUMERIC(10,2)",
"dest_name": "m1olim",
"dest_type": "numeric(10,2)",
"description": "Outside Length"
},
{
"source_name": "M1IWIM",
"source_type": "NUMERIC(10,2)",
"dest_name": "m1iwim",
"dest_type": "numeric(10,2)",
"description": "Inside Width"
},
{
"source_name": "M1ILIM",
"source_type": "NUMERIC(10,2)",
"dest_name": "m1ilim",
"dest_type": "numeric(10,2)",
"description": "Inside Length"
},
{
"source_name": "M1PSM",
"source_type": "CHAR(14)",
"dest_name": "m1psm",
"dest_type": "text",
"description": "Pallet Size"
},
{
"source_name": "M1PHM",
"source_type": "NUMERIC(10,2)",
"dest_name": "m1phm",
"dest_type": "numeric(10,2)",
"description": "Pallet Height"
},
{
"source_name": "M1MDUOMM",
"source_type": "CHAR(5)",
"dest_name": "m1mduomm",
"dest_type": "text",
"description": "Max Dry UOM"
},
{
"source_name": "M1MLUOMM",
"source_type": "CHAR(5)",
"dest_name": "m1mluomm",
"dest_type": "text",
"description": "Max Liquid UOM"
},
{
"source_name": "M1ODUOMM",
"source_type": "CHAR(5)",
"dest_name": "m1oduomm",
"dest_type": "text",
"description": "Outside Dimensions UOM"
},
{
"source_name": "M1IDUOMM",
"source_type": "CHAR(5)",
"dest_name": "m1iduomm",
"dest_type": "text",
"description": "Inside Dimensions UOM"
},
{
"source_name": "M1HUOMM",
"source_type": "CHAR(5)",
"dest_name": "m1huomm",
"dest_type": "text",
"description": "Height UOM"
},
{
"source_name": "M1OLWOMM",
"source_type": "CHAR(5)",
"dest_name": "m1olwomm",
"dest_type": "text",
"description": "Outside Width UOM"
},
{
"source_name": "M1OLUOMM",
"source_type": "CHAR(5)",
"dest_name": "m1oluomm",
"dest_type": "text",
"description": "Outside Length UOM"
},
{
"source_name": "M1IWUOMM",
"source_type": "CHAR(5)",
"dest_name": "m1iwuomm",
"dest_type": "text",
"description": "Inside Width UOM"
},
{
"source_name": "M1ILUOMM",
"source_type": "CHAR(5)",
"dest_name": "m1iluomm",
"dest_type": "text",
"description": "Inside Length UOM"
},
{
"source_name": "M1PHUOMM",
"source_type": "CHAR(5)",
"dest_name": "m1phuomm",
"dest_type": "text",
"description": "Pallet Height UOM"
},
{
"source_name": "M1TCPT",
"source_type": "CHAR(45)",
"dest_name": "m1tcpt",
"dest_type": "text",
"description": "Tray Compatiblity"
},
{
"source_name": "M1PCPT",
"source_type": "CHAR(45)",
"dest_name": "m1pcpt",
"dest_type": "text",
"description": "Pot Compatibilty"
},
{
"source_name": "M1HCPT",
"source_type": "CHAR(45)",
"dest_name": "m1hcpt",
"dest_type": "text",
"description": "Hanger Compatibilty"
},
{
"source_name": "M1SCPT",
"source_type": "CHAR(45)",
"dest_name": "m1scpt",
"dest_type": "text",
"description": "Saucer Compatibilty"
},
{
"source_name": "M1CBSQ",
"source_type": "NUMERIC(12,0)",
"dest_name": "m1cbsq",
"dest_type": "numeric(12,0)",
"description": "Case/Bundle/Sleeve Quantity"
},
{
"source_name": "M1BPQ",
"source_type": "NUMERIC(12,0)",
"dest_name": "m1bpq",
"dest_type": "numeric(12,0)",
"description": "Bulk Pallet Quantity"
},
{
"source_name": "M1CBSP",
"source_type": "NUMERIC(12,0)",
"dest_name": "m1cbsp",
"dest_type": "numeric(12,0)",
"description": "Case/Bundle/Sleeve per PLT"
},
{
"source_name": "M1PAGE",
"source_type": "CHAR(32)",
"dest_name": "m1page",
"dest_type": "text",
"description": "Catalog Pages"
},
{
"source_name": "M1STKC",
"source_type": "CHAR(32)",
"dest_name": "m1stkc",
"dest_type": "text",
"description": "Stocked Colors"
},
{
"source_name": "M1FORMAT",
"source_type": "CHAR(20)",
"dest_name": "m1format",
"dest_type": "text",
"description": "FORMAT"
},
{
"source_name": "M1FORM_UOM",
"source_type": "CHAR(15)",
"dest_name": "m1form_uom",
"dest_type": "text",
"description": "FORMAT_UOM"
},
{
"source_name": "M1SHAPE",
"source_type": "CHAR(15)",
"dest_name": "m1shape",
"dest_type": "text",
"description": "SHAPE"
},
{
"source_name": "M1FUNC",
"source_type": "CHAR(30)",
"dest_name": "m1func",
"dest_type": "text",
"description": "FUNCTION"
},
{
"source_name": "M1PRTGRP",
"source_type": "CHAR(10)",
"dest_name": "m1prtgrp",
"dest_type": "text",
"description": "Part Group"
},
{
"source_name": "M1FEATURE",
"source_type": "CHAR(30)",
"dest_name": "m1feature",
"dest_type": "text",
"description": "Feature"
},
{
"source_name": "M1PRICEG",
"source_type": "CHAR(50)",
"dest_name": "m1priceg",
"dest_type": "text",
"description": "Priceg"
},
{
"source_name": "M1FAMILY",
"source_type": "CHAR(40)",
"dest_name": "m1family",
"dest_type": "text",
"description": "Profile/Family"
},
{
"source_name": "M1IMGURL",
"source_type": "CHAR(100)",
"dest_name": "m1imgurl",
"dest_type": "text",
"description": "Image Url"
},
{
"source_name": "M1HEADER",
"source_type": "CHAR(30)",
"dest_name": "m1header",
"dest_type": "text",
"description": "Header"
},
{
"source_name": "M1BIGGROUP",
"source_type": "CHAR(25)",
"dest_name": "m1biggroup",
"dest_type": "text",
"description": "Big group"
},
{
"source_name": "M1BASEPART",
"source_type": "CHAR(8)",
"dest_name": "m1basepart",
"dest_type": "text",
"description": "Base Part"
},
{
"source_name": "M1SPONSOR",
"source_type": "CHAR(15)",
"dest_name": "m1sponsor",
"dest_type": "text",
"description": "Sponsor"
},
{
"source_name": "M1COMPAT",
"source_type": "CHAR(180)",
"dest_name": "m1compat",
"dest_type": "text",
"description": "COMPATIBLES"
}
],
"watermarks": [],
"hooks": []
}