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>
478 lines
12 KiB
JSON
478 lines
12 KiB
JSON
{
|
|
"name": "moldmast",
|
|
"source_connection": "S78030956",
|
|
"dest_connection": "usmidsap02",
|
|
"dest_table": "cms.moldmast",
|
|
"staging_table": "pipekit_staging.moldmast",
|
|
"merge_strategy": "full",
|
|
"merge_key": null,
|
|
"enabled": 1,
|
|
"dest_description": "Mold Master File",
|
|
"columns": [
|
|
{
|
|
"source_name": "MMMOLD",
|
|
"source_type": "CHAR(8)",
|
|
"dest_name": "mmmold",
|
|
"dest_type": "text",
|
|
"description": "Mold"
|
|
},
|
|
{
|
|
"source_name": "MMSDES",
|
|
"source_type": "CHAR(30)",
|
|
"dest_name": "mmsdes",
|
|
"dest_type": "text",
|
|
"description": "Product Short Description"
|
|
},
|
|
{
|
|
"source_name": "MMLDES",
|
|
"source_type": "CHAR(75)",
|
|
"dest_name": "mmldes",
|
|
"dest_type": "text",
|
|
"description": "Product Long Description"
|
|
},
|
|
{
|
|
"source_name": "MMMDCIU",
|
|
"source_type": "NUMERIC(10,2)",
|
|
"dest_name": "mmmdciu",
|
|
"dest_type": "numeric(10,2)",
|
|
"description": "Max Dry"
|
|
},
|
|
{
|
|
"source_name": "MMMLUUU",
|
|
"source_type": "NUMERIC(10,2)",
|
|
"dest_name": "mmmluuu",
|
|
"dest_type": "numeric(10,2)",
|
|
"description": "Max Liquid metric and Unit"
|
|
},
|
|
{
|
|
"source_name": "MMODU",
|
|
"source_type": "NUMERIC(10,2)",
|
|
"dest_name": "mmodu",
|
|
"dest_type": "numeric(10,2)",
|
|
"description": "Outside Dimensions"
|
|
},
|
|
{
|
|
"source_name": "MMIDU",
|
|
"source_type": "NUMERIC(10,2)",
|
|
"dest_name": "mmidu",
|
|
"dest_type": "numeric(10,2)",
|
|
"description": "Inside Dimensions"
|
|
},
|
|
{
|
|
"source_name": "MMHTU",
|
|
"source_type": "NUMERIC(10,2)",
|
|
"dest_name": "mmhtu",
|
|
"dest_type": "numeric(10,2)",
|
|
"description": "Height"
|
|
},
|
|
{
|
|
"source_name": "MMOWIU",
|
|
"source_type": "NUMERIC(10,2)",
|
|
"dest_name": "mmowiu",
|
|
"dest_type": "numeric(10,2)",
|
|
"description": "Outside Width"
|
|
},
|
|
{
|
|
"source_name": "MMOLIU",
|
|
"source_type": "NUMERIC(10,2)",
|
|
"dest_name": "mmoliu",
|
|
"dest_type": "numeric(10,2)",
|
|
"description": "Outside Length"
|
|
},
|
|
{
|
|
"source_name": "MMIWIU",
|
|
"source_type": "NUMERIC(10,2)",
|
|
"dest_name": "mmiwiu",
|
|
"dest_type": "numeric(10,2)",
|
|
"description": "Inside Width"
|
|
},
|
|
{
|
|
"source_name": "MMILIU",
|
|
"source_type": "NUMERIC(10,2)",
|
|
"dest_name": "mmiliu",
|
|
"dest_type": "numeric(10,2)",
|
|
"description": "Inside Length"
|
|
},
|
|
{
|
|
"source_name": "MMPSU",
|
|
"source_type": "CHAR(14)",
|
|
"dest_name": "mmpsu",
|
|
"dest_type": "text",
|
|
"description": "Pallet Size"
|
|
},
|
|
{
|
|
"source_name": "MMPHU",
|
|
"source_type": "NUMERIC(10,2)",
|
|
"dest_name": "mmphu",
|
|
"dest_type": "numeric(10,2)",
|
|
"description": "Pallet Height"
|
|
},
|
|
{
|
|
"source_name": "MMMDUOMU",
|
|
"source_type": "CHAR(5)",
|
|
"dest_name": "mmmduomu",
|
|
"dest_type": "text",
|
|
"description": "Max Dry UOM"
|
|
},
|
|
{
|
|
"source_name": "MMMLUOMU",
|
|
"source_type": "CHAR(5)",
|
|
"dest_name": "mmmluomu",
|
|
"dest_type": "text",
|
|
"description": "Max Liquid UOM"
|
|
},
|
|
{
|
|
"source_name": "MMODUOMU",
|
|
"source_type": "CHAR(5)",
|
|
"dest_name": "mmoduomu",
|
|
"dest_type": "text",
|
|
"description": "Outside Dimensions UOM"
|
|
},
|
|
{
|
|
"source_name": "MMIDUOMU",
|
|
"source_type": "CHAR(5)",
|
|
"dest_name": "mmiduomu",
|
|
"dest_type": "text",
|
|
"description": "Inside Dimensions UOM"
|
|
},
|
|
{
|
|
"source_name": "MMHUOMU",
|
|
"source_type": "CHAR(5)",
|
|
"dest_name": "mmhuomu",
|
|
"dest_type": "text",
|
|
"description": "Height UOM"
|
|
},
|
|
{
|
|
"source_name": "MMOLWOMU",
|
|
"source_type": "CHAR(5)",
|
|
"dest_name": "mmolwomu",
|
|
"dest_type": "text",
|
|
"description": "Outside Width UOM"
|
|
},
|
|
{
|
|
"source_name": "MMOLUOMU",
|
|
"source_type": "CHAR(5)",
|
|
"dest_name": "mmoluomu",
|
|
"dest_type": "text",
|
|
"description": "Outside Length UOM"
|
|
},
|
|
{
|
|
"source_name": "MMIWUOMU",
|
|
"source_type": "CHAR(5)",
|
|
"dest_name": "mmiwuomu",
|
|
"dest_type": "text",
|
|
"description": "Inside Width UOM"
|
|
},
|
|
{
|
|
"source_name": "MMILUOMU",
|
|
"source_type": "CHAR(5)",
|
|
"dest_name": "mmiluomu",
|
|
"dest_type": "text",
|
|
"description": "Inside Length UOM"
|
|
},
|
|
{
|
|
"source_name": "MMPHUOMU",
|
|
"source_type": "CHAR(5)",
|
|
"dest_name": "mmphuomu",
|
|
"dest_type": "text",
|
|
"description": "Pallet Height UOM"
|
|
},
|
|
{
|
|
"source_name": "MMMDCIM",
|
|
"source_type": "NUMERIC(11,5)",
|
|
"dest_name": "mmmdcim",
|
|
"dest_type": "numeric(11,5)",
|
|
"description": "Max Dry"
|
|
},
|
|
{
|
|
"source_name": "MMMLUUM",
|
|
"source_type": "NUMERIC(10,2)",
|
|
"dest_name": "mmmluum",
|
|
"dest_type": "numeric(10,2)",
|
|
"description": "Max Liquid metric and Unit"
|
|
},
|
|
{
|
|
"source_name": "MMODM",
|
|
"source_type": "NUMERIC(10,2)",
|
|
"dest_name": "mmodm",
|
|
"dest_type": "numeric(10,2)",
|
|
"description": "Outside Dimensions"
|
|
},
|
|
{
|
|
"source_name": "MMIDM",
|
|
"source_type": "NUMERIC(10,2)",
|
|
"dest_name": "mmidm",
|
|
"dest_type": "numeric(10,2)",
|
|
"description": "Inside Dimensions"
|
|
},
|
|
{
|
|
"source_name": "MMHTM",
|
|
"source_type": "NUMERIC(10,2)",
|
|
"dest_name": "mmhtm",
|
|
"dest_type": "numeric(10,2)",
|
|
"description": "Height"
|
|
},
|
|
{
|
|
"source_name": "MMOWIM",
|
|
"source_type": "NUMERIC(10,2)",
|
|
"dest_name": "mmowim",
|
|
"dest_type": "numeric(10,2)",
|
|
"description": "Outside Width"
|
|
},
|
|
{
|
|
"source_name": "MMOLIM",
|
|
"source_type": "NUMERIC(10,2)",
|
|
"dest_name": "mmolim",
|
|
"dest_type": "numeric(10,2)",
|
|
"description": "Outside Length"
|
|
},
|
|
{
|
|
"source_name": "MMIWIM",
|
|
"source_type": "NUMERIC(10,2)",
|
|
"dest_name": "mmiwim",
|
|
"dest_type": "numeric(10,2)",
|
|
"description": "Inside Width"
|
|
},
|
|
{
|
|
"source_name": "MMILIM",
|
|
"source_type": "NUMERIC(10,2)",
|
|
"dest_name": "mmilim",
|
|
"dest_type": "numeric(10,2)",
|
|
"description": "Inside Length"
|
|
},
|
|
{
|
|
"source_name": "MMPSM",
|
|
"source_type": "CHAR(14)",
|
|
"dest_name": "mmpsm",
|
|
"dest_type": "text",
|
|
"description": "Pallet Size"
|
|
},
|
|
{
|
|
"source_name": "MMPHM",
|
|
"source_type": "NUMERIC(10,2)",
|
|
"dest_name": "mmphm",
|
|
"dest_type": "numeric(10,2)",
|
|
"description": "Pallet Height"
|
|
},
|
|
{
|
|
"source_name": "MMMDUOMM",
|
|
"source_type": "CHAR(5)",
|
|
"dest_name": "mmmduomm",
|
|
"dest_type": "text",
|
|
"description": "Max Dry UOM"
|
|
},
|
|
{
|
|
"source_name": "MMMLUOMM",
|
|
"source_type": "CHAR(5)",
|
|
"dest_name": "mmmluomm",
|
|
"dest_type": "text",
|
|
"description": "Max Liquid UOM"
|
|
},
|
|
{
|
|
"source_name": "MMODUOMM",
|
|
"source_type": "CHAR(5)",
|
|
"dest_name": "mmoduomm",
|
|
"dest_type": "text",
|
|
"description": "Outside Dimensions UOM"
|
|
},
|
|
{
|
|
"source_name": "MMIDUOMM",
|
|
"source_type": "CHAR(5)",
|
|
"dest_name": "mmiduomm",
|
|
"dest_type": "text",
|
|
"description": "Inside Dimensions UOM"
|
|
},
|
|
{
|
|
"source_name": "MMHUOMM",
|
|
"source_type": "CHAR(5)",
|
|
"dest_name": "mmhuomm",
|
|
"dest_type": "text",
|
|
"description": "Height UOM"
|
|
},
|
|
{
|
|
"source_name": "MMOLWOMM",
|
|
"source_type": "CHAR(5)",
|
|
"dest_name": "mmolwomm",
|
|
"dest_type": "text",
|
|
"description": "Outside Width UOM"
|
|
},
|
|
{
|
|
"source_name": "MMOLUOMM",
|
|
"source_type": "CHAR(5)",
|
|
"dest_name": "mmoluomm",
|
|
"dest_type": "text",
|
|
"description": "Outside Length UOM"
|
|
},
|
|
{
|
|
"source_name": "MMIWUOMM",
|
|
"source_type": "CHAR(5)",
|
|
"dest_name": "mmiwuomm",
|
|
"dest_type": "text",
|
|
"description": "Inside Width UOM"
|
|
},
|
|
{
|
|
"source_name": "MMILUOMM",
|
|
"source_type": "CHAR(5)",
|
|
"dest_name": "mmiluomm",
|
|
"dest_type": "text",
|
|
"description": "Inside Length UOM"
|
|
},
|
|
{
|
|
"source_name": "MMPHUOMM",
|
|
"source_type": "CHAR(5)",
|
|
"dest_name": "mmphuomm",
|
|
"dest_type": "text",
|
|
"description": "Pallet Height UOM"
|
|
},
|
|
{
|
|
"source_name": "MMFEATURE",
|
|
"source_type": "CHAR(30)",
|
|
"dest_name": "mmfeature",
|
|
"dest_type": "text",
|
|
"description": "Feature"
|
|
},
|
|
{
|
|
"source_name": "MMFAMILY",
|
|
"source_type": "CHAR(40)",
|
|
"dest_name": "mmfamily",
|
|
"dest_type": "text",
|
|
"description": "Profile/Family"
|
|
},
|
|
{
|
|
"source_name": "MMIMGURL",
|
|
"source_type": "CHAR(100)",
|
|
"dest_name": "mmimgurl",
|
|
"dest_type": "text",
|
|
"description": "Image Url"
|
|
},
|
|
{
|
|
"source_name": "MMHEADER",
|
|
"source_type": "CHAR(30)",
|
|
"dest_name": "mmheader",
|
|
"dest_type": "text",
|
|
"description": "Header"
|
|
},
|
|
{
|
|
"source_name": "MMBIGGROUP",
|
|
"source_type": "CHAR(25)",
|
|
"dest_name": "mmbiggroup",
|
|
"dest_type": "text",
|
|
"description": "Big group"
|
|
},
|
|
{
|
|
"source_name": "MMSPONSOR",
|
|
"source_type": "CHAR(15)",
|
|
"dest_name": "mmsponsor",
|
|
"dest_type": "text",
|
|
"description": "Sponsor"
|
|
},
|
|
{
|
|
"source_name": "MMCOMPAT",
|
|
"source_type": "CHAR(180)",
|
|
"dest_name": "mmcompat",
|
|
"dest_type": "text",
|
|
"description": "COMPATIBLES"
|
|
},
|
|
{
|
|
"source_name": "MMHSORT",
|
|
"source_type": "DECIMAL(9,0)",
|
|
"dest_name": "mmhsort",
|
|
"dest_type": "numeric(9,0)",
|
|
"description": "HEADER SORT"
|
|
},
|
|
{
|
|
"source_name": "MMDSORT",
|
|
"source_type": "DECIMAL(9,0)",
|
|
"dest_name": "mmdsort",
|
|
"dest_type": "numeric(9,0)",
|
|
"description": "DETAIL SORT"
|
|
},
|
|
{
|
|
"source_name": "MMCCFG",
|
|
"source_type": "CHAR(20)",
|
|
"dest_name": "mmccfg",
|
|
"dest_type": "text",
|
|
"description": "Cell Configuration"
|
|
},
|
|
{
|
|
"source_name": "MMFORMAT",
|
|
"source_type": "CHAR(20)",
|
|
"dest_name": "mmformat",
|
|
"dest_type": "text",
|
|
"description": "FORMAT"
|
|
},
|
|
{
|
|
"source_name": "MMFORM_UOM",
|
|
"source_type": "CHAR(15)",
|
|
"dest_name": "mmform_uom",
|
|
"dest_type": "text",
|
|
"description": "FORMAT_UOM"
|
|
},
|
|
{
|
|
"source_name": "MMFUNC",
|
|
"source_type": "CHAR(30)",
|
|
"dest_name": "mmfunc",
|
|
"dest_type": "text",
|
|
"description": "FUNCTION"
|
|
},
|
|
{
|
|
"source_name": "MMPRTGRP",
|
|
"source_type": "CHAR(10)",
|
|
"dest_name": "mmprtgrp",
|
|
"dest_type": "text",
|
|
"description": "Part Group"
|
|
},
|
|
{
|
|
"source_name": "MMPRICEG",
|
|
"source_type": "CHAR(50)",
|
|
"dest_name": "mmpriceg",
|
|
"dest_type": "text",
|
|
"description": "Priceg"
|
|
},
|
|
{
|
|
"source_name": "MMSHAPE",
|
|
"source_type": "CHAR(15)",
|
|
"dest_name": "mmshape",
|
|
"dest_type": "text",
|
|
"description": "SHAPE"
|
|
},
|
|
{
|
|
"source_name": "MMTSLT",
|
|
"source_type": "CHAR(1)",
|
|
"dest_name": "mmtslt",
|
|
"dest_type": "text",
|
|
"description": "Tag Slot"
|
|
},
|
|
{
|
|
"source_name": "MMPLNT",
|
|
"source_type": "CHAR(21)",
|
|
"dest_name": "mmplnt",
|
|
"dest_type": "text",
|
|
"description": "Mmplnt"
|
|
},
|
|
{
|
|
"source_name": "MMREAS",
|
|
"source_type": "CHAR(200)",
|
|
"dest_name": "mmreas",
|
|
"dest_type": "text",
|
|
"description": "MMreas"
|
|
},
|
|
{
|
|
"source_name": "MMGRPSTAT",
|
|
"source_type": "CHAR(1)",
|
|
"dest_name": "mmgrpstat",
|
|
"dest_type": "text",
|
|
"description": "MMGrpStat"
|
|
},
|
|
{
|
|
"source_name": "MMPRODGRP",
|
|
"source_type": "CHAR(10)",
|
|
"dest_name": "mmprodgrp",
|
|
"dest_type": "text",
|
|
"description": "MMProdGroup"
|
|
}
|
|
],
|
|
"watermarks": [],
|
|
"hooks": []
|
|
}
|