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>
513 lines
14 KiB
JSON
513 lines
14 KiB
JSON
{
|
|
"name": "glmt",
|
|
"source_connection": "S78030956",
|
|
"dest_connection": "usmidsap02",
|
|
"dest_table": "cms.glmt",
|
|
"staging_table": "pipekit_staging.glmt",
|
|
"merge_strategy": "incremental",
|
|
"merge_key": "aj4ccyy",
|
|
"enabled": 1,
|
|
"dest_description": "G/L Chart of Accounts totals for year 6.0",
|
|
"columns": [
|
|
{
|
|
"source_name": "AJ4COMP",
|
|
"source_type": "NUMERIC(2,0)",
|
|
"dest_name": "aj4comp",
|
|
"dest_type": "numeric(2,0)",
|
|
"description": "Company Number"
|
|
},
|
|
{
|
|
"source_name": "AJ4GL#1",
|
|
"source_type": "NUMERIC(4,0)",
|
|
"dest_name": "aj4gl#1",
|
|
"dest_type": "numeric(4,0)",
|
|
"description": "G/L Account#1"
|
|
},
|
|
{
|
|
"source_name": "AJ4GL#2",
|
|
"source_type": "NUMERIC(6,0)",
|
|
"dest_name": "aj4gl#2",
|
|
"dest_type": "numeric(6,0)",
|
|
"description": "G/L Account#2"
|
|
},
|
|
{
|
|
"source_name": "AJ4CCYY",
|
|
"source_type": "NUMERIC(4,0)",
|
|
"dest_name": "aj4ccyy",
|
|
"dest_type": "numeric(4,0)",
|
|
"description": "Fiscal Year CCYY"
|
|
},
|
|
{
|
|
"source_name": "AJ4TMD",
|
|
"source_type": "DECIMAL(14,2)",
|
|
"dest_name": "aj4tmd",
|
|
"dest_type": "numeric(14,2)",
|
|
"description": "This Month Debit"
|
|
},
|
|
{
|
|
"source_name": "AJ4TMC",
|
|
"source_type": "DECIMAL(14,2)",
|
|
"dest_name": "aj4tmc",
|
|
"dest_type": "numeric(14,2)",
|
|
"description": "This Month Credit"
|
|
},
|
|
{
|
|
"source_name": "AJ4TT01",
|
|
"source_type": "DECIMAL(14,2)",
|
|
"dest_name": "aj4tt01",
|
|
"dest_type": "numeric(14,2)",
|
|
"description": "Actual Tran. This Year (Period 1)"
|
|
},
|
|
{
|
|
"source_name": "AJ4TT02",
|
|
"source_type": "DECIMAL(14,2)",
|
|
"dest_name": "aj4tt02",
|
|
"dest_type": "numeric(14,2)",
|
|
"description": "Actual Tran. This Year (Period 2)"
|
|
},
|
|
{
|
|
"source_name": "AJ4TT03",
|
|
"source_type": "DECIMAL(14,2)",
|
|
"dest_name": "aj4tt03",
|
|
"dest_type": "numeric(14,2)",
|
|
"description": "Actual Tran. This Year (Period 3)"
|
|
},
|
|
{
|
|
"source_name": "AJ4TT04",
|
|
"source_type": "DECIMAL(14,2)",
|
|
"dest_name": "aj4tt04",
|
|
"dest_type": "numeric(14,2)",
|
|
"description": "Actual Tran. This Year (Period 4)"
|
|
},
|
|
{
|
|
"source_name": "AJ4TT05",
|
|
"source_type": "DECIMAL(14,2)",
|
|
"dest_name": "aj4tt05",
|
|
"dest_type": "numeric(14,2)",
|
|
"description": "Actual Tran. This Year (Period 5)"
|
|
},
|
|
{
|
|
"source_name": "AJ4TT06",
|
|
"source_type": "DECIMAL(14,2)",
|
|
"dest_name": "aj4tt06",
|
|
"dest_type": "numeric(14,2)",
|
|
"description": "Actual Tran. This Year (Period 6)"
|
|
},
|
|
{
|
|
"source_name": "AJ4TT07",
|
|
"source_type": "DECIMAL(14,2)",
|
|
"dest_name": "aj4tt07",
|
|
"dest_type": "numeric(14,2)",
|
|
"description": "Actual Tran. This Year (Period 7)"
|
|
},
|
|
{
|
|
"source_name": "AJ4TT08",
|
|
"source_type": "DECIMAL(14,2)",
|
|
"dest_name": "aj4tt08",
|
|
"dest_type": "numeric(14,2)",
|
|
"description": "Actual Tran. This Year (Period 8)"
|
|
},
|
|
{
|
|
"source_name": "AJ4TT09",
|
|
"source_type": "DECIMAL(14,2)",
|
|
"dest_name": "aj4tt09",
|
|
"dest_type": "numeric(14,2)",
|
|
"description": "Actual Tran. This Year (Period 9)"
|
|
},
|
|
{
|
|
"source_name": "AJ4TT10",
|
|
"source_type": "DECIMAL(14,2)",
|
|
"dest_name": "aj4tt10",
|
|
"dest_type": "numeric(14,2)",
|
|
"description": "Actual Tran. This Year (Period 10)"
|
|
},
|
|
{
|
|
"source_name": "AJ4TT11",
|
|
"source_type": "DECIMAL(14,2)",
|
|
"dest_name": "aj4tt11",
|
|
"dest_type": "numeric(14,2)",
|
|
"description": "Actual Tran. This Year (Period 11)"
|
|
},
|
|
{
|
|
"source_name": "AJ4TT12",
|
|
"source_type": "DECIMAL(14,2)",
|
|
"dest_name": "aj4tt12",
|
|
"dest_type": "numeric(14,2)",
|
|
"description": "Actual Tran. This Year (Period 12)"
|
|
},
|
|
{
|
|
"source_name": "AJ4TT13",
|
|
"source_type": "DECIMAL(14,2)",
|
|
"dest_name": "aj4tt13",
|
|
"dest_type": "numeric(14,2)",
|
|
"description": "Actual Tran. This Year (Period 13)"
|
|
},
|
|
{
|
|
"source_name": "AJ4TT14",
|
|
"source_type": "DECIMAL(14,2)",
|
|
"dest_name": "aj4tt14",
|
|
"dest_type": "numeric(14,2)",
|
|
"description": "Actual Tran. This Year (Period 14)"
|
|
},
|
|
{
|
|
"source_name": "AJ4TT15",
|
|
"source_type": "DECIMAL(14,2)",
|
|
"dest_name": "aj4tt15",
|
|
"dest_type": "numeric(14,2)",
|
|
"description": "Actual Tran. This Year (Period 15)"
|
|
},
|
|
{
|
|
"source_name": "AJ4OB01",
|
|
"source_type": "DECIMAL(14,2)",
|
|
"dest_name": "aj4ob01",
|
|
"dest_type": "numeric(14,2)",
|
|
"description": "Opening Balance (Period 1)"
|
|
},
|
|
{
|
|
"source_name": "AJ4OB02",
|
|
"source_type": "DECIMAL(14,2)",
|
|
"dest_name": "aj4ob02",
|
|
"dest_type": "numeric(14,2)",
|
|
"description": "Opening Balance (Period 2)"
|
|
},
|
|
{
|
|
"source_name": "AJ4OB03",
|
|
"source_type": "DECIMAL(14,2)",
|
|
"dest_name": "aj4ob03",
|
|
"dest_type": "numeric(14,2)",
|
|
"description": "Opening Balance (Period 3)"
|
|
},
|
|
{
|
|
"source_name": "AJ4OB04",
|
|
"source_type": "DECIMAL(14,2)",
|
|
"dest_name": "aj4ob04",
|
|
"dest_type": "numeric(14,2)",
|
|
"description": "Opening Balance (Period 4)"
|
|
},
|
|
{
|
|
"source_name": "AJ4OB05",
|
|
"source_type": "DECIMAL(14,2)",
|
|
"dest_name": "aj4ob05",
|
|
"dest_type": "numeric(14,2)",
|
|
"description": "Opening Balance (Period 5)"
|
|
},
|
|
{
|
|
"source_name": "AJ4OB06",
|
|
"source_type": "DECIMAL(14,2)",
|
|
"dest_name": "aj4ob06",
|
|
"dest_type": "numeric(14,2)",
|
|
"description": "Opening Balance (Period 6)"
|
|
},
|
|
{
|
|
"source_name": "AJ4OB07",
|
|
"source_type": "DECIMAL(14,2)",
|
|
"dest_name": "aj4ob07",
|
|
"dest_type": "numeric(14,2)",
|
|
"description": "Opening Balance (Period 7)"
|
|
},
|
|
{
|
|
"source_name": "AJ4OB08",
|
|
"source_type": "DECIMAL(14,2)",
|
|
"dest_name": "aj4ob08",
|
|
"dest_type": "numeric(14,2)",
|
|
"description": "Opening Balance (Period 8)"
|
|
},
|
|
{
|
|
"source_name": "AJ4OB09",
|
|
"source_type": "DECIMAL(14,2)",
|
|
"dest_name": "aj4ob09",
|
|
"dest_type": "numeric(14,2)",
|
|
"description": "Opening Balance (Period 9)"
|
|
},
|
|
{
|
|
"source_name": "AJ4OB10",
|
|
"source_type": "DECIMAL(14,2)",
|
|
"dest_name": "aj4ob10",
|
|
"dest_type": "numeric(14,2)",
|
|
"description": "Opening Balance (Period 10)"
|
|
},
|
|
{
|
|
"source_name": "AJ4OB11",
|
|
"source_type": "DECIMAL(14,2)",
|
|
"dest_name": "aj4ob11",
|
|
"dest_type": "numeric(14,2)",
|
|
"description": "Opening Balance (Period 11)"
|
|
},
|
|
{
|
|
"source_name": "AJ4OB12",
|
|
"source_type": "DECIMAL(14,2)",
|
|
"dest_name": "aj4ob12",
|
|
"dest_type": "numeric(14,2)",
|
|
"description": "Opening Balance (Period 12)"
|
|
},
|
|
{
|
|
"source_name": "AJ4OB13",
|
|
"source_type": "DECIMAL(14,2)",
|
|
"dest_name": "aj4ob13",
|
|
"dest_type": "numeric(14,2)",
|
|
"description": "Opening Balance (Period 13)"
|
|
},
|
|
{
|
|
"source_name": "AJ4OB14",
|
|
"source_type": "DECIMAL(14,2)",
|
|
"dest_name": "aj4ob14",
|
|
"dest_type": "numeric(14,2)",
|
|
"description": "Opening Balance (Period 14)"
|
|
},
|
|
{
|
|
"source_name": "AJ4OB15",
|
|
"source_type": "DECIMAL(14,2)",
|
|
"dest_name": "aj4ob15",
|
|
"dest_type": "numeric(14,2)",
|
|
"description": "Opening Balance (Period 15)"
|
|
},
|
|
{
|
|
"source_name": "AJ4CB01",
|
|
"source_type": "DECIMAL(12,0)",
|
|
"dest_name": "aj4cb01",
|
|
"dest_type": "numeric(12,0)",
|
|
"description": "Current Budget (Period 1)"
|
|
},
|
|
{
|
|
"source_name": "AJ4CB02",
|
|
"source_type": "DECIMAL(12,0)",
|
|
"dest_name": "aj4cb02",
|
|
"dest_type": "numeric(12,0)",
|
|
"description": "Current Budget (Period 2)"
|
|
},
|
|
{
|
|
"source_name": "AJ4CB03",
|
|
"source_type": "DECIMAL(12,0)",
|
|
"dest_name": "aj4cb03",
|
|
"dest_type": "numeric(12,0)",
|
|
"description": "Current Budget (Period 3)"
|
|
},
|
|
{
|
|
"source_name": "AJ4CB04",
|
|
"source_type": "DECIMAL(12,0)",
|
|
"dest_name": "aj4cb04",
|
|
"dest_type": "numeric(12,0)",
|
|
"description": "Current Budget (Period 4)"
|
|
},
|
|
{
|
|
"source_name": "AJ4CB05",
|
|
"source_type": "DECIMAL(12,0)",
|
|
"dest_name": "aj4cb05",
|
|
"dest_type": "numeric(12,0)",
|
|
"description": "Current Budget (Period 5)"
|
|
},
|
|
{
|
|
"source_name": "AJ4CB06",
|
|
"source_type": "DECIMAL(12,0)",
|
|
"dest_name": "aj4cb06",
|
|
"dest_type": "numeric(12,0)",
|
|
"description": "Current Budget (Period 6)"
|
|
},
|
|
{
|
|
"source_name": "AJ4CB07",
|
|
"source_type": "DECIMAL(12,0)",
|
|
"dest_name": "aj4cb07",
|
|
"dest_type": "numeric(12,0)",
|
|
"description": "Current Budget (Period 7)"
|
|
},
|
|
{
|
|
"source_name": "AJ4CB08",
|
|
"source_type": "DECIMAL(12,0)",
|
|
"dest_name": "aj4cb08",
|
|
"dest_type": "numeric(12,0)",
|
|
"description": "Current Budget (Period 8)"
|
|
},
|
|
{
|
|
"source_name": "AJ4CB09",
|
|
"source_type": "DECIMAL(12,0)",
|
|
"dest_name": "aj4cb09",
|
|
"dest_type": "numeric(12,0)",
|
|
"description": "Current Budget (Period 9)"
|
|
},
|
|
{
|
|
"source_name": "AJ4CB10",
|
|
"source_type": "DECIMAL(12,0)",
|
|
"dest_name": "aj4cb10",
|
|
"dest_type": "numeric(12,0)",
|
|
"description": "Current Budget (Period 10)"
|
|
},
|
|
{
|
|
"source_name": "AJ4CB11",
|
|
"source_type": "DECIMAL(12,0)",
|
|
"dest_name": "aj4cb11",
|
|
"dest_type": "numeric(12,0)",
|
|
"description": "Current Budget (Period 11)"
|
|
},
|
|
{
|
|
"source_name": "AJ4CB12",
|
|
"source_type": "DECIMAL(12,0)",
|
|
"dest_name": "aj4cb12",
|
|
"dest_type": "numeric(12,0)",
|
|
"description": "Current Budget (Period 12)"
|
|
},
|
|
{
|
|
"source_name": "AJ4CB13",
|
|
"source_type": "DECIMAL(12,0)",
|
|
"dest_name": "aj4cb13",
|
|
"dest_type": "numeric(12,0)",
|
|
"description": "Current Budget (Period 13)"
|
|
},
|
|
{
|
|
"source_name": "AJ4CB14",
|
|
"source_type": "DECIMAL(12,0)",
|
|
"dest_name": "aj4cb14",
|
|
"dest_type": "numeric(12,0)",
|
|
"description": "Current Budget (Period 14)"
|
|
},
|
|
{
|
|
"source_name": "AJ4CB15",
|
|
"source_type": "DECIMAL(12,0)",
|
|
"dest_name": "aj4cb15",
|
|
"dest_type": "numeric(12,0)",
|
|
"description": "Current Budget (Period 15)"
|
|
},
|
|
{
|
|
"source_name": "AJ4FPD1",
|
|
"source_type": "DECIMAL(12,0)",
|
|
"dest_name": "aj4fpd1",
|
|
"dest_type": "numeric(12,0)",
|
|
"description": "Forecast (Period 1)"
|
|
},
|
|
{
|
|
"source_name": "AJ4FPD2",
|
|
"source_type": "DECIMAL(12,0)",
|
|
"dest_name": "aj4fpd2",
|
|
"dest_type": "numeric(12,0)",
|
|
"description": "Forecast (Period 2)"
|
|
},
|
|
{
|
|
"source_name": "AJ4PER1",
|
|
"source_type": "NUMERIC(2,0)",
|
|
"dest_name": "aj4per1",
|
|
"dest_type": "numeric(2,0)",
|
|
"description": "Period 1"
|
|
},
|
|
{
|
|
"source_name": "AJ4PER2",
|
|
"source_type": "NUMERIC(2,0)",
|
|
"dest_name": "aj4per2",
|
|
"dest_type": "numeric(2,0)",
|
|
"description": "Period 2"
|
|
},
|
|
{
|
|
"source_name": "AJ4FR01",
|
|
"source_type": "DECIMAL(12,0)",
|
|
"dest_name": "aj4fr01",
|
|
"dest_type": "numeric(12,0)",
|
|
"description": "Forecast (Period 1)"
|
|
},
|
|
{
|
|
"source_name": "AJ4FR02",
|
|
"source_type": "DECIMAL(12,0)",
|
|
"dest_name": "aj4fr02",
|
|
"dest_type": "numeric(12,0)",
|
|
"description": "Forecast (Period 2)"
|
|
},
|
|
{
|
|
"source_name": "AJ4FR03",
|
|
"source_type": "DECIMAL(12,0)",
|
|
"dest_name": "aj4fr03",
|
|
"dest_type": "numeric(12,0)",
|
|
"description": "Forecast (Period 3)"
|
|
},
|
|
{
|
|
"source_name": "AJ4FR04",
|
|
"source_type": "DECIMAL(12,0)",
|
|
"dest_name": "aj4fr04",
|
|
"dest_type": "numeric(12,0)",
|
|
"description": "Forecast (Period 4)"
|
|
},
|
|
{
|
|
"source_name": "AJ4FR05",
|
|
"source_type": "DECIMAL(12,0)",
|
|
"dest_name": "aj4fr05",
|
|
"dest_type": "numeric(12,0)",
|
|
"description": "Forecast (Period 5)"
|
|
},
|
|
{
|
|
"source_name": "AJ4FR06",
|
|
"source_type": "DECIMAL(12,0)",
|
|
"dest_name": "aj4fr06",
|
|
"dest_type": "numeric(12,0)",
|
|
"description": "Forecast (Period 6)"
|
|
},
|
|
{
|
|
"source_name": "AJ4FR07",
|
|
"source_type": "DECIMAL(12,0)",
|
|
"dest_name": "aj4fr07",
|
|
"dest_type": "numeric(12,0)",
|
|
"description": "Forecast (Period 7)"
|
|
},
|
|
{
|
|
"source_name": "AJ4FR08",
|
|
"source_type": "DECIMAL(12,0)",
|
|
"dest_name": "aj4fr08",
|
|
"dest_type": "numeric(12,0)",
|
|
"description": "Forecast (Period 8)"
|
|
},
|
|
{
|
|
"source_name": "AJ4FR09",
|
|
"source_type": "DECIMAL(12,0)",
|
|
"dest_name": "aj4fr09",
|
|
"dest_type": "numeric(12,0)",
|
|
"description": "Forecast (Period 9)"
|
|
},
|
|
{
|
|
"source_name": "AJ4FR0A",
|
|
"source_type": "DECIMAL(12,0)",
|
|
"dest_name": "aj4fr0a",
|
|
"dest_type": "numeric(12,0)",
|
|
"description": "Forecast (Period 10)"
|
|
},
|
|
{
|
|
"source_name": "AJ4FR0B",
|
|
"source_type": "DECIMAL(12,0)",
|
|
"dest_name": "aj4fr0b",
|
|
"dest_type": "numeric(12,0)",
|
|
"description": "Forecast (Period 11)"
|
|
},
|
|
{
|
|
"source_name": "AJ4FR0C",
|
|
"source_type": "DECIMAL(12,0)",
|
|
"dest_name": "aj4fr0c",
|
|
"dest_type": "numeric(12,0)",
|
|
"description": "Forecast (Period 12)"
|
|
},
|
|
{
|
|
"source_name": "AJ4FR0D",
|
|
"source_type": "DECIMAL(12,0)",
|
|
"dest_name": "aj4fr0d",
|
|
"dest_type": "numeric(12,0)",
|
|
"description": "Forecast (Period 13)"
|
|
},
|
|
{
|
|
"source_name": "AJ4FR0E",
|
|
"source_type": "DECIMAL(12,0)",
|
|
"dest_name": "aj4fr0e",
|
|
"dest_type": "numeric(12,0)",
|
|
"description": "Forecast (Period 14)"
|
|
},
|
|
{
|
|
"source_name": "AJ4FR0F",
|
|
"source_type": "DECIMAL(12,0)",
|
|
"dest_name": "aj4fr0f",
|
|
"dest_type": "numeric(12,0)",
|
|
"description": "Forecast (Period 15)"
|
|
}
|
|
],
|
|
"watermarks": [
|
|
{
|
|
"name": "Fiscal",
|
|
"connection": "usmidsap02",
|
|
"resolver_sql": "SELECT '2027'",
|
|
"default_value": "None"
|
|
}
|
|
],
|
|
"hooks": []
|
|
}
|