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>
569 lines
14 KiB
JSON
569 lines
14 KiB
JSON
{
|
|
"name": "iv00102",
|
|
"source_connection": "sqlserver",
|
|
"dest_connection": "usmidsap02",
|
|
"dest_table": "gp.iv00102",
|
|
"staging_table": "pipekit_staging.iv00102",
|
|
"merge_strategy": "full",
|
|
"merge_key": "dex_row_id",
|
|
"enabled": 1,
|
|
"dest_description": null,
|
|
"columns": [
|
|
{
|
|
"source_name": "ITEMNMBR",
|
|
"source_type": "CHAR(31)",
|
|
"dest_name": "itemnmbr",
|
|
"dest_type": "text",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "LOCNCODE",
|
|
"source_type": "CHAR(11)",
|
|
"dest_name": "locncode",
|
|
"dest_type": "text",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "BINNMBR",
|
|
"source_type": "CHAR(21)",
|
|
"dest_name": "binnmbr",
|
|
"dest_type": "text",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "RCRDTYPE",
|
|
"source_type": "SMALLINT",
|
|
"dest_name": "rcrdtype",
|
|
"dest_type": "smallint",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "PRIMVNDR",
|
|
"source_type": "CHAR(15)",
|
|
"dest_name": "primvndr",
|
|
"dest_type": "text",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "ITMFRFLG",
|
|
"source_type": "TINYINT",
|
|
"dest_name": "itmfrflg",
|
|
"dest_type": "smallint",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "BGNGQTY",
|
|
"source_type": "NUMERIC(19,5)",
|
|
"dest_name": "bgngqty",
|
|
"dest_type": "numeric(19,5)",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "LSORDQTY",
|
|
"source_type": "NUMERIC(19,5)",
|
|
"dest_name": "lsordqty",
|
|
"dest_type": "numeric(19,5)",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "LRCPTQTY",
|
|
"source_type": "NUMERIC(19,5)",
|
|
"dest_name": "lrcptqty",
|
|
"dest_type": "numeric(19,5)",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "LSTORDDT",
|
|
"source_type": "DATETIME",
|
|
"dest_name": "lstorddt",
|
|
"dest_type": "timestamp",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "LSORDVND",
|
|
"source_type": "CHAR(15)",
|
|
"dest_name": "lsordvnd",
|
|
"dest_type": "text",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "LSRCPTDT",
|
|
"source_type": "DATETIME",
|
|
"dest_name": "lsrcptdt",
|
|
"dest_type": "timestamp",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "QTYRQSTN",
|
|
"source_type": "NUMERIC(19,5)",
|
|
"dest_name": "qtyrqstn",
|
|
"dest_type": "numeric(19,5)",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "QTYONORD",
|
|
"source_type": "NUMERIC(19,5)",
|
|
"dest_name": "qtyonord",
|
|
"dest_type": "numeric(19,5)",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "QTYBKORD",
|
|
"source_type": "NUMERIC(19,5)",
|
|
"dest_name": "qtybkord",
|
|
"dest_type": "numeric(19,5)",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "QTY_Drop_Shipped",
|
|
"source_type": "NUMERIC(19,5)",
|
|
"dest_name": "qty_drop_shipped",
|
|
"dest_type": "numeric(19,5)",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "QTYINUSE",
|
|
"source_type": "NUMERIC(19,5)",
|
|
"dest_name": "qtyinuse",
|
|
"dest_type": "numeric(19,5)",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "QTYINSVC",
|
|
"source_type": "NUMERIC(19,5)",
|
|
"dest_name": "qtyinsvc",
|
|
"dest_type": "numeric(19,5)",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "QTYRTRND",
|
|
"source_type": "NUMERIC(19,5)",
|
|
"dest_name": "qtyrtrnd",
|
|
"dest_type": "numeric(19,5)",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "QTYDMGED",
|
|
"source_type": "NUMERIC(19,5)",
|
|
"dest_name": "qtydmged",
|
|
"dest_type": "numeric(19,5)",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "QTYONHND",
|
|
"source_type": "NUMERIC(19,5)",
|
|
"dest_name": "qtyonhnd",
|
|
"dest_type": "numeric(19,5)",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "ATYALLOC",
|
|
"source_type": "NUMERIC(19,5)",
|
|
"dest_name": "atyalloc",
|
|
"dest_type": "numeric(19,5)",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "QTYCOMTD",
|
|
"source_type": "NUMERIC(19,5)",
|
|
"dest_name": "qtycomtd",
|
|
"dest_type": "numeric(19,5)",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "QTYSOLD",
|
|
"source_type": "NUMERIC(19,5)",
|
|
"dest_name": "qtysold",
|
|
"dest_type": "numeric(19,5)",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "NXTCNTDT",
|
|
"source_type": "DATETIME",
|
|
"dest_name": "nxtcntdt",
|
|
"dest_type": "timestamp",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "NXTCNTTM",
|
|
"source_type": "DATETIME",
|
|
"dest_name": "nxtcnttm",
|
|
"dest_type": "timestamp",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "LSTCNTDT",
|
|
"source_type": "DATETIME",
|
|
"dest_name": "lstcntdt",
|
|
"dest_type": "timestamp",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "LSTCNTTM",
|
|
"source_type": "DATETIME",
|
|
"dest_name": "lstcnttm",
|
|
"dest_type": "timestamp",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "STCKCNTINTRVL",
|
|
"source_type": "SMALLINT",
|
|
"dest_name": "stckcntintrvl",
|
|
"dest_type": "smallint",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "Landed_Cost_Group_ID",
|
|
"source_type": "CHAR(15)",
|
|
"dest_name": "landed_cost_group_id",
|
|
"dest_type": "text",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "BUYERID",
|
|
"source_type": "CHAR(15)",
|
|
"dest_name": "buyerid",
|
|
"dest_type": "text",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "PLANNERID",
|
|
"source_type": "CHAR(15)",
|
|
"dest_name": "plannerid",
|
|
"dest_type": "text",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "ORDERPOLICY",
|
|
"source_type": "SMALLINT",
|
|
"dest_name": "orderpolicy",
|
|
"dest_type": "smallint",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "FXDORDRQTY",
|
|
"source_type": "NUMERIC(19,5)",
|
|
"dest_name": "fxdordrqty",
|
|
"dest_type": "numeric(19,5)",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "ORDRPNTQTY",
|
|
"source_type": "NUMERIC(19,5)",
|
|
"dest_name": "ordrpntqty",
|
|
"dest_type": "numeric(19,5)",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "NMBROFDYS",
|
|
"source_type": "SMALLINT",
|
|
"dest_name": "nmbrofdys",
|
|
"dest_type": "smallint",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "MNMMORDRQTY",
|
|
"source_type": "NUMERIC(19,5)",
|
|
"dest_name": "mnmmordrqty",
|
|
"dest_type": "numeric(19,5)",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "MXMMORDRQTY",
|
|
"source_type": "NUMERIC(19,5)",
|
|
"dest_name": "mxmmordrqty",
|
|
"dest_type": "numeric(19,5)",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "ORDERMULTIPLE",
|
|
"source_type": "NUMERIC(19,5)",
|
|
"dest_name": "ordermultiple",
|
|
"dest_type": "numeric(19,5)",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "REPLENISHMENTMETHOD",
|
|
"source_type": "SMALLINT",
|
|
"dest_name": "replenishmentmethod",
|
|
"dest_type": "smallint",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "SHRINKAGEFACTOR",
|
|
"source_type": "NUMERIC(19,5)",
|
|
"dest_name": "shrinkagefactor",
|
|
"dest_type": "numeric(19,5)",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "PRCHSNGLDTM",
|
|
"source_type": "NUMERIC(19,5)",
|
|
"dest_name": "prchsngldtm",
|
|
"dest_type": "numeric(19,5)",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "MNFCTRNGFXDLDTM",
|
|
"source_type": "NUMERIC(19,5)",
|
|
"dest_name": "mnfctrngfxdldtm",
|
|
"dest_type": "numeric(19,5)",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "MNFCTRNGVRBLLDTM",
|
|
"source_type": "NUMERIC(19,5)",
|
|
"dest_name": "mnfctrngvrblldtm",
|
|
"dest_type": "numeric(19,5)",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "STAGINGLDTME",
|
|
"source_type": "NUMERIC(19,5)",
|
|
"dest_name": "stagingldtme",
|
|
"dest_type": "numeric(19,5)",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "PLNNNGTMFNCDYS",
|
|
"source_type": "SMALLINT",
|
|
"dest_name": "plnnngtmfncdys",
|
|
"dest_type": "smallint",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "DMNDTMFNCPRDS",
|
|
"source_type": "SMALLINT",
|
|
"dest_name": "dmndtmfncprds",
|
|
"dest_type": "smallint",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "INCLDDINPLNNNG",
|
|
"source_type": "TINYINT",
|
|
"dest_name": "inclddinplnnng",
|
|
"dest_type": "smallint",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "CALCULATEATP",
|
|
"source_type": "TINYINT",
|
|
"dest_name": "calculateatp",
|
|
"dest_type": "smallint",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "AUTOCHKATP",
|
|
"source_type": "TINYINT",
|
|
"dest_name": "autochkatp",
|
|
"dest_type": "smallint",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "PLNFNLPAB",
|
|
"source_type": "TINYINT",
|
|
"dest_name": "plnfnlpab",
|
|
"dest_type": "smallint",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "FRCSTCNSMPTNPRD",
|
|
"source_type": "SMALLINT",
|
|
"dest_name": "frcstcnsmptnprd",
|
|
"dest_type": "smallint",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "ORDRUPTOLVL",
|
|
"source_type": "NUMERIC(19,5)",
|
|
"dest_name": "ordruptolvl",
|
|
"dest_type": "numeric(19,5)",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "SFTYSTCKQTY",
|
|
"source_type": "NUMERIC(19,5)",
|
|
"dest_name": "sftystckqty",
|
|
"dest_type": "numeric(19,5)",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "REORDERVARIANCE",
|
|
"source_type": "NUMERIC(19,5)",
|
|
"dest_name": "reordervariance",
|
|
"dest_type": "numeric(19,5)",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "PORECEIPTBIN",
|
|
"source_type": "CHAR(15)",
|
|
"dest_name": "poreceiptbin",
|
|
"dest_type": "text",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "PORETRNBIN",
|
|
"source_type": "CHAR(15)",
|
|
"dest_name": "poretrnbin",
|
|
"dest_type": "text",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "SOFULFILLMENTBIN",
|
|
"source_type": "CHAR(15)",
|
|
"dest_name": "sofulfillmentbin",
|
|
"dest_type": "text",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "SORETURNBIN",
|
|
"source_type": "CHAR(15)",
|
|
"dest_name": "soreturnbin",
|
|
"dest_type": "text",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "BOMRCPTBIN",
|
|
"source_type": "CHAR(15)",
|
|
"dest_name": "bomrcptbin",
|
|
"dest_type": "text",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "MATERIALISSUEBIN",
|
|
"source_type": "CHAR(15)",
|
|
"dest_name": "materialissuebin",
|
|
"dest_type": "text",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "MORECEIPTBIN",
|
|
"source_type": "CHAR(15)",
|
|
"dest_name": "moreceiptbin",
|
|
"dest_type": "text",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "REPAIRISSUESBIN",
|
|
"source_type": "CHAR(15)",
|
|
"dest_name": "repairissuesbin",
|
|
"dest_type": "text",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "ReplenishmentLevel",
|
|
"source_type": "SMALLINT",
|
|
"dest_name": "replenishmentlevel",
|
|
"dest_type": "smallint",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "POPOrderMethod",
|
|
"source_type": "SMALLINT",
|
|
"dest_name": "popordermethod",
|
|
"dest_type": "smallint",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "MasterLocationCode",
|
|
"source_type": "CHAR(11)",
|
|
"dest_name": "masterlocationcode",
|
|
"dest_type": "text",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "POPVendorSelection",
|
|
"source_type": "SMALLINT",
|
|
"dest_name": "popvendorselection",
|
|
"dest_type": "smallint",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "POPPricingSelection",
|
|
"source_type": "SMALLINT",
|
|
"dest_name": "poppricingselection",
|
|
"dest_type": "smallint",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "PurchasePrice",
|
|
"source_type": "NUMERIC(19,5)",
|
|
"dest_name": "purchaseprice",
|
|
"dest_type": "numeric(19,5)",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "IncludeAllocations",
|
|
"source_type": "TINYINT",
|
|
"dest_name": "includeallocations",
|
|
"dest_type": "smallint",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "IncludeBackorders",
|
|
"source_type": "TINYINT",
|
|
"dest_name": "includebackorders",
|
|
"dest_type": "smallint",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "IncludeRequisitions",
|
|
"source_type": "TINYINT",
|
|
"dest_name": "includerequisitions",
|
|
"dest_type": "smallint",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "PICKTICKETITEMOPT",
|
|
"source_type": "SMALLINT",
|
|
"dest_name": "pickticketitemopt",
|
|
"dest_type": "smallint",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "INCLDMRPMOVEIN",
|
|
"source_type": "TINYINT",
|
|
"dest_name": "incldmrpmovein",
|
|
"dest_type": "smallint",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "INCLDMRPMOVEOUT",
|
|
"source_type": "TINYINT",
|
|
"dest_name": "incldmrpmoveout",
|
|
"dest_type": "smallint",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "INCLDMRPCANCEL",
|
|
"source_type": "TINYINT",
|
|
"dest_name": "incldmrpcancel",
|
|
"dest_type": "smallint",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "Move_Out_Fence",
|
|
"source_type": "SMALLINT",
|
|
"dest_name": "move_out_fence",
|
|
"dest_type": "smallint",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "INACTIVE",
|
|
"source_type": "TINYINT",
|
|
"dest_name": "inactive",
|
|
"dest_type": "smallint",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "DEX_ROW_ID",
|
|
"source_type": "INT",
|
|
"dest_name": "dex_row_id",
|
|
"dest_type": "integer",
|
|
"description": null
|
|
}
|
|
],
|
|
"watermarks": [],
|
|
"hooks": []
|
|
}
|