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>
632 lines
16 KiB
JSON
632 lines
16 KiB
JSON
{
|
|
"name": "bold",
|
|
"source_connection": "S78030956",
|
|
"dest_connection": "usmidsap02",
|
|
"dest_table": "cms.bold",
|
|
"staging_table": "pipekit_staging.bold",
|
|
"merge_strategy": "incremental",
|
|
"merge_key": "fgbol#",
|
|
"enabled": 1,
|
|
"dest_description": "Bill of Lading Detail 6.1",
|
|
"columns": [
|
|
{
|
|
"source_name": "FGBOL#",
|
|
"source_type": "NUMERIC(9,0)",
|
|
"dest_name": "fgbol#",
|
|
"dest_type": "numeric(9,0)",
|
|
"description": "BOL Number"
|
|
},
|
|
{
|
|
"source_name": "FGENT#",
|
|
"source_type": "NUMERIC(3,0)",
|
|
"dest_name": "fgent#",
|
|
"dest_type": "numeric(3,0)",
|
|
"description": "BOL Detail Number"
|
|
},
|
|
{
|
|
"source_name": "FGORD#",
|
|
"source_type": "NUMERIC(9,0)",
|
|
"dest_name": "fgord#",
|
|
"dest_type": "numeric(9,0)",
|
|
"description": "Customer Order Number"
|
|
},
|
|
{
|
|
"source_name": "FGITEM",
|
|
"source_type": "NUMERIC(3,0)",
|
|
"dest_name": "fgitem",
|
|
"dest_type": "numeric(3,0)",
|
|
"description": "Item Number"
|
|
},
|
|
{
|
|
"source_name": "FGPO#",
|
|
"source_type": "NUMERIC(9,0)",
|
|
"dest_name": "fgpo#",
|
|
"dest_type": "numeric(9,0)",
|
|
"description": "P/O #"
|
|
},
|
|
{
|
|
"source_name": "FGPREL",
|
|
"source_type": "NUMERIC(4,0)",
|
|
"dest_name": "fgprel",
|
|
"dest_type": "numeric(4,0)",
|
|
"description": "P/O Release #"
|
|
},
|
|
{
|
|
"source_name": "FGPITM",
|
|
"source_type": "NUMERIC(3,0)",
|
|
"dest_name": "fgpitm",
|
|
"dest_type": "numeric(3,0)",
|
|
"description": "P/O Item #"
|
|
},
|
|
{
|
|
"source_name": "FGQSHP",
|
|
"source_type": "NUMERIC(15,5)",
|
|
"dest_name": "fgqshp",
|
|
"dest_type": "numeric(15,5)",
|
|
"description": "Shipping Quantity Base"
|
|
},
|
|
{
|
|
"source_name": "FGQSHO",
|
|
"source_type": "NUMERIC(15,5)",
|
|
"dest_name": "fgqsho",
|
|
"dest_type": "numeric(15,5)",
|
|
"description": "Shipping Quantity OE"
|
|
},
|
|
{
|
|
"source_name": "FGCTNC",
|
|
"source_type": "CHAR(3)",
|
|
"dest_name": "fgctnc",
|
|
"dest_type": "text",
|
|
"description": "Container Code"
|
|
},
|
|
{
|
|
"source_name": "FGCTNN",
|
|
"source_type": "NUMERIC(5,0)",
|
|
"dest_name": "fgctnn",
|
|
"dest_type": "numeric(5,0)",
|
|
"description": "# of Containers"
|
|
},
|
|
{
|
|
"source_name": "FGPLTN",
|
|
"source_type": "NUMERIC(3,0)",
|
|
"dest_name": "fgpltn",
|
|
"dest_type": "numeric(3,0)",
|
|
"description": "# of Pallets"
|
|
},
|
|
{
|
|
"source_name": "FGNTWC",
|
|
"source_type": "NUMERIC(8,2)",
|
|
"dest_name": "fgntwc",
|
|
"dest_type": "numeric(8,2)",
|
|
"description": "Net Weight / Container"
|
|
},
|
|
{
|
|
"source_name": "FGGRSC",
|
|
"source_type": "NUMERIC(8,2)",
|
|
"dest_name": "fggrsc",
|
|
"dest_type": "numeric(8,2)",
|
|
"description": "Gross Weight / Container"
|
|
},
|
|
{
|
|
"source_name": "FGTARC",
|
|
"source_type": "NUMERIC(8,2)",
|
|
"dest_name": "fgtarc",
|
|
"dest_type": "numeric(8,2)",
|
|
"description": "Tare Weight / Container"
|
|
},
|
|
{
|
|
"source_name": "FGVOLC",
|
|
"source_type": "NUMERIC(8,2)",
|
|
"dest_name": "fgvolc",
|
|
"dest_type": "numeric(8,2)",
|
|
"description": "Volume per Container"
|
|
},
|
|
{
|
|
"source_name": "FGQTYC",
|
|
"source_type": "NUMERIC(15,5)",
|
|
"dest_name": "fgqtyc",
|
|
"dest_type": "numeric(15,5)",
|
|
"description": "Quantity /Container"
|
|
},
|
|
{
|
|
"source_name": "FGWGTP",
|
|
"source_type": "NUMERIC(8,2)",
|
|
"dest_name": "fgwgtp",
|
|
"dest_type": "numeric(8,2)",
|
|
"description": "Weight of shipment"
|
|
},
|
|
{
|
|
"source_name": "FGVOLP",
|
|
"source_type": "NUMERIC(15,5)",
|
|
"dest_name": "fgvolp",
|
|
"dest_type": "numeric(15,5)",
|
|
"description": "Volume of shipment"
|
|
},
|
|
{
|
|
"source_name": "FGLSTS",
|
|
"source_type": "CHAR(1)",
|
|
"dest_name": "fglsts",
|
|
"dest_type": "text",
|
|
"description": "Status"
|
|
},
|
|
{
|
|
"source_name": "FGPART",
|
|
"source_type": "CHAR(20)",
|
|
"dest_name": "fgpart",
|
|
"dest_type": "text",
|
|
"description": "Part Number"
|
|
},
|
|
{
|
|
"source_name": "FGRLNO",
|
|
"source_type": "CHAR(8)",
|
|
"dest_name": "fgrlno",
|
|
"dest_type": "text",
|
|
"description": "Release Number"
|
|
},
|
|
{
|
|
"source_name": "FGINV#",
|
|
"source_type": "NUMERIC(9,0)",
|
|
"dest_name": "fginv#",
|
|
"dest_type": "numeric(9,0)",
|
|
"description": "Invoice Number"
|
|
},
|
|
{
|
|
"source_name": "FGLIN#",
|
|
"source_type": "NUMERIC(3,0)",
|
|
"dest_name": "fglin#",
|
|
"dest_type": "numeric(3,0)",
|
|
"description": "Detail Number"
|
|
},
|
|
{
|
|
"source_name": "FGORUN",
|
|
"source_type": "CHAR(3)",
|
|
"dest_name": "fgorun",
|
|
"dest_type": "text",
|
|
"description": "Order Unit"
|
|
},
|
|
{
|
|
"source_name": "FGFTAM",
|
|
"source_type": "NUMERIC(10,2)",
|
|
"dest_name": "fgftam",
|
|
"dest_type": "numeric(10,2)",
|
|
"description": "Freight Amount"
|
|
},
|
|
{
|
|
"source_name": "FGSTKL",
|
|
"source_type": "CHAR(6)",
|
|
"dest_name": "fgstkl",
|
|
"dest_type": "text",
|
|
"description": "Stock Location"
|
|
},
|
|
{
|
|
"source_name": "FGRAN#",
|
|
"source_type": "CHAR(20)",
|
|
"dest_name": "fgran#",
|
|
"dest_type": "text",
|
|
"description": "RAN Number"
|
|
},
|
|
{
|
|
"source_name": "FGCPT#",
|
|
"source_type": "CHAR(30)",
|
|
"dest_name": "fgcpt#",
|
|
"dest_type": "text",
|
|
"description": "Customer Part Number"
|
|
},
|
|
{
|
|
"source_name": "FGCNID",
|
|
"source_type": "CHAR(30)",
|
|
"dest_name": "fgcnid",
|
|
"dest_type": "text",
|
|
"description": "Shipping Container"
|
|
},
|
|
{
|
|
"source_name": "FGECHG",
|
|
"source_type": "CHAR(30)",
|
|
"dest_name": "fgechg",
|
|
"dest_type": "text",
|
|
"description": "Eng. Change Number"
|
|
},
|
|
{
|
|
"source_name": "FGCCUM",
|
|
"source_type": "NUMERIC(12,0)",
|
|
"dest_name": "fgccum",
|
|
"dest_type": "numeric(12,0)",
|
|
"description": "Current Cum Quantity"
|
|
},
|
|
{
|
|
"source_name": "FGPCUM",
|
|
"source_type": "NUMERIC(12,0)",
|
|
"dest_name": "fgpcum",
|
|
"dest_type": "numeric(12,0)",
|
|
"description": "Previous Cum Quantity"
|
|
},
|
|
{
|
|
"source_name": "FGCPO#",
|
|
"source_type": "CHAR(25)",
|
|
"dest_name": "fgcpo#",
|
|
"dest_type": "text",
|
|
"description": "Customer P/O"
|
|
},
|
|
{
|
|
"source_name": "FGCMPR",
|
|
"source_type": "CHAR(2)",
|
|
"dest_name": "fgcmpr",
|
|
"dest_type": "text",
|
|
"description": "Complete Partial"
|
|
},
|
|
{
|
|
"source_name": "FGDOCK",
|
|
"source_type": "CHAR(30)",
|
|
"dest_name": "fgdock",
|
|
"dest_type": "text",
|
|
"description": "Dock Code"
|
|
},
|
|
{
|
|
"source_name": "FGISTS",
|
|
"source_type": "CHAR(1)",
|
|
"dest_name": "fgists",
|
|
"dest_type": "text",
|
|
"description": "ASN Item Status"
|
|
},
|
|
{
|
|
"source_name": "FGSREF",
|
|
"source_type": "CHAR(20)",
|
|
"dest_name": "fgsref",
|
|
"dest_type": "text",
|
|
"description": "Shipment Reference"
|
|
},
|
|
{
|
|
"source_name": "FGCRCM",
|
|
"source_type": "CHAR(1)",
|
|
"dest_name": "fgcrcm",
|
|
"dest_type": "text",
|
|
"description": "Current/ Complete"
|
|
},
|
|
{
|
|
"source_name": "FGUSR1",
|
|
"source_type": "CHAR(20)",
|
|
"dest_name": "fgusr1",
|
|
"dest_type": "text",
|
|
"description": "Discrepancy Code"
|
|
},
|
|
{
|
|
"source_name": "FGUSR2",
|
|
"source_type": "CHAR(20)",
|
|
"dest_name": "fgusr2",
|
|
"dest_type": "text",
|
|
"description": "User Field 2"
|
|
},
|
|
{
|
|
"source_name": "FGUSR3",
|
|
"source_type": "CHAR(20)",
|
|
"dest_name": "fgusr3",
|
|
"dest_type": "text",
|
|
"description": "User Field 3"
|
|
},
|
|
{
|
|
"source_name": "FGREQ#",
|
|
"source_type": "NUMERIC(9,0)",
|
|
"dest_name": "fgreq#",
|
|
"dest_type": "numeric(9,0)",
|
|
"description": "Transfer Request#"
|
|
},
|
|
{
|
|
"source_name": "FGDREQ",
|
|
"source_type": "NUMERIC(3,0)",
|
|
"dest_name": "fgdreq",
|
|
"dest_type": "numeric(3,0)",
|
|
"description": "Transfer Req Detail#"
|
|
},
|
|
{
|
|
"source_name": "FGJITD",
|
|
"source_type": "NUMERIC(8,0)",
|
|
"dest_name": "fgjitd",
|
|
"dest_type": "numeric(8,0)",
|
|
"description": "JITDX2 Key"
|
|
},
|
|
{
|
|
"source_name": "FGUSR4",
|
|
"source_type": "CHAR(20)",
|
|
"dest_name": "fgusr4",
|
|
"dest_type": "text",
|
|
"description": "User Field 4"
|
|
},
|
|
{
|
|
"source_name": "FGUSR5",
|
|
"source_type": "CHAR(20)",
|
|
"dest_name": "fgusr5",
|
|
"dest_type": "text",
|
|
"description": "User Field 5"
|
|
},
|
|
{
|
|
"source_name": "FGFUT1",
|
|
"source_type": "CHAR(10)",
|
|
"dest_name": "fgfut1",
|
|
"dest_type": "text",
|
|
"description": "Future Use"
|
|
},
|
|
{
|
|
"source_name": "FGFUT2",
|
|
"source_type": "CHAR(10)",
|
|
"dest_name": "fgfut2",
|
|
"dest_type": "text",
|
|
"description": "Future Use"
|
|
},
|
|
{
|
|
"source_name": "FGFUT3",
|
|
"source_type": "CHAR(20)",
|
|
"dest_name": "fgfut3",
|
|
"dest_type": "text",
|
|
"description": "Future Use"
|
|
},
|
|
{
|
|
"source_name": "FGFUT4",
|
|
"source_type": "CHAR(20)",
|
|
"dest_name": "fgfut4",
|
|
"dest_type": "text",
|
|
"description": "Link IASND"
|
|
},
|
|
{
|
|
"source_name": "FGFUT5",
|
|
"source_type": "CHAR(30)",
|
|
"dest_name": "fgfut5",
|
|
"dest_type": "text",
|
|
"description": "SBI Shipment ID"
|
|
},
|
|
{
|
|
"source_name": "FGFUTA",
|
|
"source_type": "NUMERIC(15,5)",
|
|
"dest_name": "fgfuta",
|
|
"dest_type": "numeric(15,5)",
|
|
"description": "Original Qty Shipped"
|
|
},
|
|
{
|
|
"source_name": "FGFUTB",
|
|
"source_type": "NUMERIC(15,5)",
|
|
"dest_name": "fgfutb",
|
|
"dest_type": "numeric(15,5)",
|
|
"description": "1st Level BLWT Component Line #"
|
|
},
|
|
{
|
|
"source_name": "FGFUTC",
|
|
"source_type": "NUMERIC(15,5)",
|
|
"dest_name": "fgfutc",
|
|
"dest_type": "numeric(15,5)",
|
|
"description": "Per Unit Freight in Order Unit"
|
|
},
|
|
{
|
|
"source_name": "FGFUTD",
|
|
"source_type": "NUMERIC(15,5)",
|
|
"dest_name": "fgfutd",
|
|
"dest_type": "numeric(15,5)",
|
|
"description": "Handling Fee Percentage"
|
|
},
|
|
{
|
|
"source_name": "FGFUTE",
|
|
"source_type": "CHAR(3)",
|
|
"dest_name": "fgfute",
|
|
"dest_type": "text",
|
|
"description": "Toyota Manifest Shipment Counter"
|
|
},
|
|
{
|
|
"source_name": "FGFUTF",
|
|
"source_type": "CHAR(3)",
|
|
"dest_name": "fgfutf",
|
|
"dest_type": "text",
|
|
"description": "Receiving Log Line #"
|
|
},
|
|
{
|
|
"source_name": "FGFUTG",
|
|
"source_type": "CHAR(10)",
|
|
"dest_name": "fgfutg",
|
|
"dest_type": "text",
|
|
"description": "Receiving Log #"
|
|
},
|
|
{
|
|
"source_name": "FGFUTH",
|
|
"source_type": "CHAR(10)",
|
|
"dest_name": "fgfuth",
|
|
"dest_type": "text",
|
|
"description": "Toyota Manifest Shipment Truck ID"
|
|
},
|
|
{
|
|
"source_name": "FGFUTI",
|
|
"source_type": "CHAR(10)",
|
|
"dest_name": "fgfuti",
|
|
"dest_type": "text",
|
|
"description": "ATS Pick Group"
|
|
},
|
|
{
|
|
"source_name": "FGFUTJ",
|
|
"source_type": "CHAR(10)",
|
|
"dest_name": "fgfutj",
|
|
"dest_type": "text",
|
|
"description": "Future Use"
|
|
},
|
|
{
|
|
"source_name": "FGFUTK",
|
|
"source_type": "CHAR(20)",
|
|
"dest_name": "fgfutk",
|
|
"dest_type": "text",
|
|
"description": "Future Use"
|
|
},
|
|
{
|
|
"source_name": "FGFUTL",
|
|
"source_type": "CHAR(20)",
|
|
"dest_name": "fgfutl",
|
|
"dest_type": "text",
|
|
"description": "Toyota Kanban Number"
|
|
},
|
|
{
|
|
"source_name": "FGFUTM",
|
|
"source_type": "CHAR(20)",
|
|
"dest_name": "fgfutm",
|
|
"dest_type": "text",
|
|
"description": "Toyota Manifest Shipment Invoice #"
|
|
},
|
|
{
|
|
"source_name": "FGFUTN",
|
|
"source_type": "CHAR(20)",
|
|
"dest_name": "fgfutn",
|
|
"dest_type": "text",
|
|
"description": "Future Use"
|
|
},
|
|
{
|
|
"source_name": "FGFUTO",
|
|
"source_type": "CHAR(20)",
|
|
"dest_name": "fgfuto",
|
|
"dest_type": "text",
|
|
"description": "Future Use"
|
|
},
|
|
{
|
|
"source_name": "FGFUTP",
|
|
"source_type": "CHAR(1)",
|
|
"dest_name": "fgfutp",
|
|
"dest_type": "text",
|
|
"description": "Future Use"
|
|
},
|
|
{
|
|
"source_name": "FGFUTQ",
|
|
"source_type": "CHAR(1)",
|
|
"dest_name": "fgfutq",
|
|
"dest_type": "text",
|
|
"description": "Future Use"
|
|
},
|
|
{
|
|
"source_name": "FGFUTR",
|
|
"source_type": "CHAR(1)",
|
|
"dest_name": "fgfutr",
|
|
"dest_type": "text",
|
|
"description": "Future Use"
|
|
},
|
|
{
|
|
"source_name": "FGFUTS",
|
|
"source_type": "CHAR(1)",
|
|
"dest_name": "fgfuts",
|
|
"dest_type": "text",
|
|
"description": "Future Use"
|
|
},
|
|
{
|
|
"source_name": "FGFUTT",
|
|
"source_type": "CHAR(1)",
|
|
"dest_name": "fgfutt",
|
|
"dest_type": "text",
|
|
"description": "Future Use"
|
|
},
|
|
{
|
|
"source_name": "FGPLNT",
|
|
"source_type": "CHAR(3)",
|
|
"dest_name": "fgplnt",
|
|
"dest_type": "text",
|
|
"description": "Plant Code"
|
|
},
|
|
{
|
|
"source_name": "FGBUNT",
|
|
"source_type": "CHAR(3)",
|
|
"dest_name": "fgbunt",
|
|
"dest_type": "text",
|
|
"description": "Base Unit"
|
|
},
|
|
{
|
|
"source_name": "FGRPBR",
|
|
"source_type": "CHAR(10)",
|
|
"dest_name": "fgrpbr",
|
|
"dest_type": "text",
|
|
"description": "Remit Paid by RAN"
|
|
},
|
|
{
|
|
"source_name": "FGNWFP",
|
|
"source_type": "NUMERIC(8,2)",
|
|
"dest_name": "fgnwfp",
|
|
"dest_type": "numeric(8,2)",
|
|
"description": "Net Weight"
|
|
},
|
|
{
|
|
"source_name": "FGCREL",
|
|
"source_type": "CHAR(20)",
|
|
"dest_name": "fgcrel",
|
|
"dest_type": "text",
|
|
"description": "Current Rel/Ref"
|
|
},
|
|
{
|
|
"source_name": "FGPSLP",
|
|
"source_type": "CHAR(30)",
|
|
"dest_name": "fgpslp",
|
|
"dest_type": "text",
|
|
"description": "Packing Slip"
|
|
},
|
|
{
|
|
"source_name": "FGRMID",
|
|
"source_type": "CHAR(30)",
|
|
"dest_name": "fgrmid",
|
|
"dest_type": "text",
|
|
"description": "Remit ID"
|
|
},
|
|
{
|
|
"source_name": "FGCREV",
|
|
"source_type": "CHAR(30)",
|
|
"dest_name": "fgcrev",
|
|
"dest_type": "text",
|
|
"description": "Cust Rev Number"
|
|
},
|
|
{
|
|
"source_name": "FGREFF",
|
|
"source_type": "CHAR(30)",
|
|
"dest_name": "fgreff",
|
|
"dest_type": "text",
|
|
"description": "Reference Field"
|
|
},
|
|
{
|
|
"source_name": "FGFUT6",
|
|
"source_type": "CHAR(30)",
|
|
"dest_name": "fgfut6",
|
|
"dest_type": "text",
|
|
"description": "Future Use"
|
|
},
|
|
{
|
|
"source_name": "FGFUT7",
|
|
"source_type": "CHAR(30)",
|
|
"dest_name": "fgfut7",
|
|
"dest_type": "text",
|
|
"description": "Future Use"
|
|
},
|
|
{
|
|
"source_name": "FGFUT8",
|
|
"source_type": "CHAR(30)",
|
|
"dest_name": "fgfut8",
|
|
"dest_type": "text",
|
|
"description": "Future Use"
|
|
},
|
|
{
|
|
"source_name": "FGFUT9",
|
|
"source_type": "NUMERIC(15,5)",
|
|
"dest_name": "fgfut9",
|
|
"dest_type": "numeric(15,5)",
|
|
"description": "Future Use"
|
|
},
|
|
{
|
|
"source_name": "FGFUT10",
|
|
"source_type": "NUMERIC(15,5)",
|
|
"dest_name": "fgfut10",
|
|
"dest_type": "numeric(15,5)",
|
|
"description": "Future Use"
|
|
},
|
|
{
|
|
"source_name": "FGFUT11",
|
|
"source_type": "NUMERIC(15,5)",
|
|
"dest_name": "fgfut11",
|
|
"dest_type": "numeric(15,5)",
|
|
"description": "Future Use"
|
|
}
|
|
],
|
|
"watermarks": [
|
|
{
|
|
"name": "bold_wm",
|
|
"connection": "usmidsap02",
|
|
"resolver_sql": "SELECT COALESCE(MAX(fecdat), DATE '1900-01-01') - 21 FROM cms.bolh",
|
|
"default_value": null
|
|
}
|
|
],
|
|
"hooks": []
|
|
}
|