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>
422 lines
9.8 KiB
JSON
422 lines
9.8 KiB
JSON
{
|
|
"name": "itemm",
|
|
"source_connection": "S78030956",
|
|
"dest_connection": "usmidsap02",
|
|
"dest_table": "cms.itemm",
|
|
"staging_table": "pipekit_staging.itemm",
|
|
"merge_strategy": "full",
|
|
"merge_key": null,
|
|
"enabled": 1,
|
|
"dest_description": "ITEMM",
|
|
"columns": [
|
|
{
|
|
"source_name": "ITEM",
|
|
"source_type": "CHAR(20)",
|
|
"dest_name": "item",
|
|
"dest_type": "text",
|
|
"description": "Part Number"
|
|
},
|
|
{
|
|
"source_name": "DESCR",
|
|
"source_type": "CHAR(30)",
|
|
"dest_name": "descr",
|
|
"dest_type": "text",
|
|
"description": "Part Desc 1"
|
|
},
|
|
{
|
|
"source_name": "DESCR2",
|
|
"source_type": "CHAR(30)",
|
|
"dest_name": "descr2",
|
|
"dest_type": "text",
|
|
"description": "Part Desc 2"
|
|
},
|
|
{
|
|
"source_name": "DESCR3",
|
|
"source_type": "CHAR(30)",
|
|
"dest_name": "descr3",
|
|
"dest_type": "text",
|
|
"description": "Part Desc 3"
|
|
},
|
|
{
|
|
"source_name": "GLEC",
|
|
"source_type": "CHAR(3)",
|
|
"dest_name": "glec",
|
|
"dest_type": "text",
|
|
"description": "G_l Expense Code"
|
|
},
|
|
{
|
|
"source_name": "STLC",
|
|
"source_type": "CHAR(20)",
|
|
"dest_name": "stlc",
|
|
"dest_type": "text",
|
|
"description": "Style Code"
|
|
},
|
|
{
|
|
"source_name": "STLCD",
|
|
"source_type": "CHAR(30)",
|
|
"dest_name": "stlcd",
|
|
"dest_type": "text",
|
|
"description": "Style Code Desc"
|
|
},
|
|
{
|
|
"source_name": "P93",
|
|
"source_type": "CHAR(3)",
|
|
"dest_name": "p93",
|
|
"dest_type": "text",
|
|
"description": "P93"
|
|
},
|
|
{
|
|
"source_name": "COLC",
|
|
"source_type": "CHAR(20)",
|
|
"dest_name": "colc",
|
|
"dest_type": "text",
|
|
"description": "Color Code"
|
|
},
|
|
{
|
|
"source_name": "COLCD",
|
|
"source_type": "CHAR(20)",
|
|
"dest_name": "colcd",
|
|
"dest_type": "text",
|
|
"description": "Colcd"
|
|
},
|
|
{
|
|
"source_name": "COLGRP",
|
|
"source_type": "CHAR(1)",
|
|
"dest_name": "colgrp",
|
|
"dest_type": "text",
|
|
"description": "Colgrp"
|
|
},
|
|
{
|
|
"source_name": "COLTIER",
|
|
"source_type": "CHAR(1)",
|
|
"dest_name": "coltier",
|
|
"dest_type": "text",
|
|
"description": "Coltier"
|
|
},
|
|
{
|
|
"source_name": "COLTIERD",
|
|
"source_type": "CHAR(30)",
|
|
"dest_name": "coltierd",
|
|
"dest_type": "text",
|
|
"description": "Coltierd"
|
|
},
|
|
{
|
|
"source_name": "COLSTAT",
|
|
"source_type": "CHAR(1)",
|
|
"dest_name": "colstat",
|
|
"dest_type": "text",
|
|
"description": "Colstat"
|
|
},
|
|
{
|
|
"source_name": "SIZC",
|
|
"source_type": "CHAR(20)",
|
|
"dest_name": "sizc",
|
|
"dest_type": "text",
|
|
"description": "Size Code"
|
|
},
|
|
{
|
|
"source_name": "PACKAGE",
|
|
"source_type": "CHAR(30)",
|
|
"dest_name": "package",
|
|
"dest_type": "text",
|
|
"description": "Package"
|
|
},
|
|
{
|
|
"source_name": "KIT",
|
|
"source_type": "CHAR(30)",
|
|
"dest_name": "kit",
|
|
"dest_type": "text",
|
|
"description": "Kit"
|
|
},
|
|
{
|
|
"source_name": "BRANDING",
|
|
"source_type": "CHAR(30)",
|
|
"dest_name": "branding",
|
|
"dest_type": "text",
|
|
"description": "Branding"
|
|
},
|
|
{
|
|
"source_name": "SUFFIX",
|
|
"source_type": "CHAR(4)",
|
|
"dest_name": "suffix",
|
|
"dest_type": "text",
|
|
"description": "Suffix"
|
|
},
|
|
{
|
|
"source_name": "SUFFIXD",
|
|
"source_type": "CHAR(50)",
|
|
"dest_name": "suffixd",
|
|
"dest_type": "text",
|
|
"description": "Suffixd"
|
|
},
|
|
{
|
|
"source_name": "ACCS",
|
|
"source_type": "CHAR(50)",
|
|
"dest_name": "accs",
|
|
"dest_type": "text",
|
|
"description": "Accs"
|
|
},
|
|
{
|
|
"source_name": "ACCS_PS",
|
|
"source_type": "CHAR(3)",
|
|
"dest_name": "accs_ps",
|
|
"dest_type": "text",
|
|
"description": "Accs_ps"
|
|
},
|
|
{
|
|
"source_name": "ACC_LIST",
|
|
"source_type": "CHAR(270)",
|
|
"dest_name": "acc_list",
|
|
"dest_type": "text",
|
|
"description": "Acc_list"
|
|
},
|
|
{
|
|
"source_name": "CATA",
|
|
"source_type": "CHAR(25)",
|
|
"dest_name": "cata",
|
|
"dest_type": "text",
|
|
"description": "Catalog Id"
|
|
},
|
|
{
|
|
"source_name": "CLSS",
|
|
"source_type": "CHAR(3)",
|
|
"dest_name": "clss",
|
|
"dest_type": "text",
|
|
"description": "Inventory Class Code"
|
|
},
|
|
{
|
|
"source_name": "ASSC",
|
|
"source_type": "CHAR(10)",
|
|
"dest_name": "assc",
|
|
"dest_type": "text",
|
|
"description": "Assembly Code"
|
|
},
|
|
{
|
|
"source_name": "SASC",
|
|
"source_type": "CHAR(10)",
|
|
"dest_name": "sasc",
|
|
"dest_type": "text",
|
|
"description": "Subassembly Code"
|
|
},
|
|
{
|
|
"source_name": "BRAND",
|
|
"source_type": "CHAR(1)",
|
|
"dest_name": "brand",
|
|
"dest_type": "text",
|
|
"description": "Brand"
|
|
},
|
|
{
|
|
"source_name": "DPLT",
|
|
"source_type": "CHAR(3)",
|
|
"dest_name": "dplt",
|
|
"dest_type": "text",
|
|
"description": "Default Plant Code"
|
|
},
|
|
{
|
|
"source_name": "HARM",
|
|
"source_type": "CHAR(13)",
|
|
"dest_name": "harm",
|
|
"dest_type": "text",
|
|
"description": "Harmonization _"
|
|
},
|
|
{
|
|
"source_name": "UOMP",
|
|
"source_type": "CHAR(21)",
|
|
"dest_name": "uomp",
|
|
"dest_type": "text",
|
|
"description": "Uomp"
|
|
},
|
|
{
|
|
"source_name": "UNTI",
|
|
"source_type": "CHAR(3)",
|
|
"dest_name": "unti",
|
|
"dest_type": "text",
|
|
"description": "Dft Unit of Issue"
|
|
},
|
|
{
|
|
"source_name": "NWHT",
|
|
"source_type": "DECIMAL(11,5)",
|
|
"dest_name": "nwht",
|
|
"dest_type": "numeric(11,5)",
|
|
"description": "Net Weight"
|
|
},
|
|
{
|
|
"source_name": "NWUN",
|
|
"source_type": "CHAR(3)",
|
|
"dest_name": "nwun",
|
|
"dest_type": "text",
|
|
"description": "Net Weight Unit"
|
|
},
|
|
{
|
|
"source_name": "TYPE",
|
|
"source_type": "CHAR(1)",
|
|
"dest_name": "type",
|
|
"dest_type": "text",
|
|
"description": "Stock Type"
|
|
},
|
|
{
|
|
"source_name": "MAJG",
|
|
"source_type": "CHAR(3)",
|
|
"dest_name": "majg",
|
|
"dest_type": "text",
|
|
"description": "Major Group"
|
|
},
|
|
{
|
|
"source_name": "MAJGD",
|
|
"source_type": "CHAR(30)",
|
|
"dest_name": "majgd",
|
|
"dest_type": "text",
|
|
"description": "Majgd"
|
|
},
|
|
{
|
|
"source_name": "MING",
|
|
"source_type": "CHAR(3)",
|
|
"dest_name": "ming",
|
|
"dest_type": "text",
|
|
"description": "Minor Group"
|
|
},
|
|
{
|
|
"source_name": "MINGD",
|
|
"source_type": "CHAR(18)",
|
|
"dest_name": "mingd",
|
|
"dest_type": "text",
|
|
"description": "Mingd"
|
|
},
|
|
{
|
|
"source_name": "MAJS",
|
|
"source_type": "CHAR(3)",
|
|
"dest_name": "majs",
|
|
"dest_type": "text",
|
|
"description": "Major Sales Code"
|
|
},
|
|
{
|
|
"source_name": "MAJSD",
|
|
"source_type": "CHAR(30)",
|
|
"dest_name": "majsd",
|
|
"dest_type": "text",
|
|
"description": "Majsd"
|
|
},
|
|
{
|
|
"source_name": "MINS",
|
|
"source_type": "CHAR(3)",
|
|
"dest_name": "mins",
|
|
"dest_type": "text",
|
|
"description": "Minor Sales Code"
|
|
},
|
|
{
|
|
"source_name": "MINSD",
|
|
"source_type": "CHAR(30)",
|
|
"dest_name": "minsd",
|
|
"dest_type": "text",
|
|
"description": "Minsd"
|
|
},
|
|
{
|
|
"source_name": "GLCD",
|
|
"source_type": "CHAR(3)",
|
|
"dest_name": "glcd",
|
|
"dest_type": "text",
|
|
"description": "G_l Distribution Code"
|
|
},
|
|
{
|
|
"source_name": "GLDCD",
|
|
"source_type": "CHAR(30)",
|
|
"dest_name": "gldcd",
|
|
"dest_type": "text",
|
|
"description": "Gldcd"
|
|
},
|
|
{
|
|
"source_name": "MINO",
|
|
"source_type": "DECIMAL(9,0)",
|
|
"dest_name": "mino",
|
|
"dest_type": "numeric(9,0)",
|
|
"description": "Mino"
|
|
},
|
|
{
|
|
"source_name": "APLNT",
|
|
"source_type": "CHAR(21)",
|
|
"dest_name": "aplnt",
|
|
"dest_type": "text",
|
|
"description": "Aplnt"
|
|
},
|
|
{
|
|
"source_name": "IREAS",
|
|
"source_type": "CHAR(200)",
|
|
"dest_name": "ireas",
|
|
"dest_type": "text",
|
|
"description": "Ireas"
|
|
},
|
|
{
|
|
"source_name": "PARTGROUP",
|
|
"source_type": "CHAR(10)",
|
|
"dest_name": "partgroup",
|
|
"dest_type": "text",
|
|
"description": "Part Group"
|
|
},
|
|
{
|
|
"source_name": "PARTGROUPD",
|
|
"source_type": "CHAR(60)",
|
|
"dest_name": "partgroupd",
|
|
"dest_type": "text",
|
|
"description": "Part Group Desc"
|
|
},
|
|
{
|
|
"source_name": "PRICEGROUP",
|
|
"source_type": "CHAR(50)",
|
|
"dest_name": "pricegroup",
|
|
"dest_type": "text",
|
|
"description": "Price Group"
|
|
},
|
|
{
|
|
"source_name": "V1DS",
|
|
"source_type": "CHAR(50)",
|
|
"dest_name": "v1ds",
|
|
"dest_type": "text",
|
|
"description": "Ver 1 Data Segment"
|
|
},
|
|
{
|
|
"source_name": "MPCK",
|
|
"source_type": "DECIMAL(15,5)",
|
|
"dest_name": "mpck",
|
|
"dest_type": "numeric(15,5)",
|
|
"description": "Master Pack"
|
|
},
|
|
{
|
|
"source_name": "CURSTD",
|
|
"source_type": "DECIMAL(13,5)",
|
|
"dest_name": "curstd",
|
|
"dest_type": "numeric(13,5)",
|
|
"description": "Current STD"
|
|
},
|
|
{
|
|
"source_name": "CURSTDUS",
|
|
"source_type": "DECIMAL(13,5)",
|
|
"dest_name": "curstdus",
|
|
"dest_type": "numeric(13,5)",
|
|
"description": "Current STD US"
|
|
},
|
|
{
|
|
"source_name": "FUTSTD",
|
|
"source_type": "DECIMAL(13,5)",
|
|
"dest_name": "futstd",
|
|
"dest_type": "numeric(13,5)",
|
|
"description": "Future STD"
|
|
},
|
|
{
|
|
"source_name": "FUTSTDUS",
|
|
"source_type": "DECIMAL(13,5)",
|
|
"dest_name": "futstdus",
|
|
"dest_type": "numeric(13,5)",
|
|
"description": "Future STD US"
|
|
},
|
|
{
|
|
"source_name": "PRODGROUP",
|
|
"source_type": "CHAR(10)",
|
|
"dest_name": "prodgroup",
|
|
"dest_type": "text",
|
|
"description": "Product Group"
|
|
}
|
|
],
|
|
"watermarks": [],
|
|
"hooks": []
|
|
}
|