config_io handled dest_description but never the module's own description field: it was absent from export_config, from both repo.create_module and repo.update_module calls in apply_config, and from the change-detection watch tuple. Descriptions set via the web form were therefore invisible to the config tree — `pipekit apply` silently ignored a description in a module's JSON, and `pipekit export` would have dropped all 127 existing ones on a round-trip. Adding "description" to the watch tuple means a module file without the key now reads as a change to NULL, so backfill the key into all 131 existing module files from the DB. Without this, the next apply would have wiped every description it was meant to preserve. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
738 lines
17 KiB
JSON
738 lines
17 KiB
JSON
{
|
|
"name": "rm00101",
|
|
"source_connection": "sqlserver",
|
|
"dest_connection": "usmidsap02",
|
|
"dest_table": "gp.rm00101",
|
|
"staging_table": "pipekit_staging.rm00101",
|
|
"merge_strategy": "full",
|
|
"merge_key": null,
|
|
"enabled": 1,
|
|
"dest_description": "GP customer/salesperson/item master (broadened, migrated from /opt/sync 2026-07-21)",
|
|
"description": "Dynamics GP receivables customer master",
|
|
"columns": [
|
|
{
|
|
"source_name": "CUSTNMBR",
|
|
"source_type": "CHAR(15)",
|
|
"dest_name": "custnmbr",
|
|
"dest_type": "text",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "CUSTNAME",
|
|
"source_type": "CHAR(65)",
|
|
"dest_name": "custname",
|
|
"dest_type": "text",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "COUNTRY",
|
|
"source_type": "CHAR(61)",
|
|
"dest_name": "country",
|
|
"dest_type": "text",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "STATE",
|
|
"source_type": "CHAR(29)",
|
|
"dest_name": "state",
|
|
"dest_type": "text",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "CITY",
|
|
"source_type": "CHAR(35)",
|
|
"dest_name": "city",
|
|
"dest_type": "text",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "USERDEF1",
|
|
"source_type": "CHAR(21)",
|
|
"dest_name": "userdef1",
|
|
"dest_type": "text",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "RATETPID",
|
|
"source_type": "CHAR(15)",
|
|
"dest_name": "ratetpid",
|
|
"dest_type": "text",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "PRCLEVEL",
|
|
"source_type": "CHAR(11)",
|
|
"dest_name": "prclevel",
|
|
"dest_type": "text",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "SLPRSNID",
|
|
"source_type": "CHAR(15)",
|
|
"dest_name": "slprsnid",
|
|
"dest_type": "text",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "CUSTCLAS",
|
|
"source_type": "CHAR(15)",
|
|
"dest_name": "custclas",
|
|
"dest_type": "text",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "CPRCSTNM",
|
|
"source_type": "CHAR(15)",
|
|
"dest_name": "cprcstnm",
|
|
"dest_type": "text",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "CNTCPRSN",
|
|
"source_type": "CHAR(61)",
|
|
"dest_name": "cntcprsn",
|
|
"dest_type": "text",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "STMTNAME",
|
|
"source_type": "CHAR(65)",
|
|
"dest_name": "stmtname",
|
|
"dest_type": "text",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "SHRTNAME",
|
|
"source_type": "CHAR(15)",
|
|
"dest_name": "shrtname",
|
|
"dest_type": "text",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "ADRSCODE",
|
|
"source_type": "CHAR(15)",
|
|
"dest_name": "adrscode",
|
|
"dest_type": "text",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "UPSZONE",
|
|
"source_type": "CHAR(3)",
|
|
"dest_name": "upszone",
|
|
"dest_type": "text",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "SHIPMTHD",
|
|
"source_type": "CHAR(15)",
|
|
"dest_name": "shipmthd",
|
|
"dest_type": "text",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "TAXSCHID",
|
|
"source_type": "CHAR(15)",
|
|
"dest_name": "taxschid",
|
|
"dest_type": "text",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "ADDRESS1",
|
|
"source_type": "CHAR(61)",
|
|
"dest_name": "address1",
|
|
"dest_type": "text",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "ADDRESS2",
|
|
"source_type": "CHAR(61)",
|
|
"dest_name": "address2",
|
|
"dest_type": "text",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "ADDRESS3",
|
|
"source_type": "CHAR(61)",
|
|
"dest_name": "address3",
|
|
"dest_type": "text",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "ZIP",
|
|
"source_type": "CHAR(11)",
|
|
"dest_name": "zip",
|
|
"dest_type": "text",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "PHONE1",
|
|
"source_type": "CHAR(21)",
|
|
"dest_name": "phone1",
|
|
"dest_type": "text",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "PHONE2",
|
|
"source_type": "CHAR(21)",
|
|
"dest_name": "phone2",
|
|
"dest_type": "text",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "PHONE3",
|
|
"source_type": "CHAR(21)",
|
|
"dest_name": "phone3",
|
|
"dest_type": "text",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "FAX",
|
|
"source_type": "CHAR(21)",
|
|
"dest_name": "fax",
|
|
"dest_type": "text",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "PRBTADCD",
|
|
"source_type": "CHAR(15)",
|
|
"dest_name": "prbtadcd",
|
|
"dest_type": "text",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "PRSTADCD",
|
|
"source_type": "CHAR(15)",
|
|
"dest_name": "prstadcd",
|
|
"dest_type": "text",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "STADDRCD",
|
|
"source_type": "CHAR(15)",
|
|
"dest_name": "staddrcd",
|
|
"dest_type": "text",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "CHEKBKID",
|
|
"source_type": "CHAR(15)",
|
|
"dest_name": "chekbkid",
|
|
"dest_type": "text",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "PYMTRMID",
|
|
"source_type": "CHAR(21)",
|
|
"dest_name": "pymtrmid",
|
|
"dest_type": "text",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "CRLMTTYP",
|
|
"source_type": "SMALLINT",
|
|
"dest_name": "crlmttyp",
|
|
"dest_type": "smallint",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "CRLMTAMT",
|
|
"source_type": "NUMERIC(19,5)",
|
|
"dest_name": "crlmtamt",
|
|
"dest_type": "numeric",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "CRLMTPER",
|
|
"source_type": "SMALLINT",
|
|
"dest_name": "crlmtper",
|
|
"dest_type": "smallint",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "CRLMTPAM",
|
|
"source_type": "NUMERIC(19,5)",
|
|
"dest_name": "crlmtpam",
|
|
"dest_type": "numeric",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "CURNCYID",
|
|
"source_type": "CHAR(15)",
|
|
"dest_name": "curncyid",
|
|
"dest_type": "text",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "CUSTDISC",
|
|
"source_type": "SMALLINT",
|
|
"dest_name": "custdisc",
|
|
"dest_type": "smallint",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "MINPYTYP",
|
|
"source_type": "SMALLINT",
|
|
"dest_name": "minpytyp",
|
|
"dest_type": "smallint",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "MINPYDLR",
|
|
"source_type": "NUMERIC(19,5)",
|
|
"dest_name": "minpydlr",
|
|
"dest_type": "numeric",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "MINPYPCT",
|
|
"source_type": "SMALLINT",
|
|
"dest_name": "minpypct",
|
|
"dest_type": "smallint",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "FNCHATYP",
|
|
"source_type": "SMALLINT",
|
|
"dest_name": "fnchatyp",
|
|
"dest_type": "smallint",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "FNCHPCNT",
|
|
"source_type": "SMALLINT",
|
|
"dest_name": "fnchpcnt",
|
|
"dest_type": "smallint",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "FINCHDLR",
|
|
"source_type": "NUMERIC(19,5)",
|
|
"dest_name": "finchdlr",
|
|
"dest_type": "numeric",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "MXWOFTYP",
|
|
"source_type": "SMALLINT",
|
|
"dest_name": "mxwoftyp",
|
|
"dest_type": "smallint",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "MXWROFAM",
|
|
"source_type": "NUMERIC(19,5)",
|
|
"dest_name": "mxwrofam",
|
|
"dest_type": "numeric",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "COMMENT1",
|
|
"source_type": "CHAR(31)",
|
|
"dest_name": "comment1",
|
|
"dest_type": "text",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "COMMENT2",
|
|
"source_type": "CHAR(31)",
|
|
"dest_name": "comment2",
|
|
"dest_type": "text",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "USERDEF2",
|
|
"source_type": "CHAR(21)",
|
|
"dest_name": "userdef2",
|
|
"dest_type": "text",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "TAXEXMT1",
|
|
"source_type": "CHAR(25)",
|
|
"dest_name": "taxexmt1",
|
|
"dest_type": "text",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "TAXEXMT2",
|
|
"source_type": "CHAR(25)",
|
|
"dest_name": "taxexmt2",
|
|
"dest_type": "text",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "TXRGNNUM",
|
|
"source_type": "CHAR(25)",
|
|
"dest_name": "txrgnnum",
|
|
"dest_type": "text",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "BALNCTYP",
|
|
"source_type": "SMALLINT",
|
|
"dest_name": "balnctyp",
|
|
"dest_type": "smallint",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "STMTCYCL",
|
|
"source_type": "SMALLINT",
|
|
"dest_name": "stmtcycl",
|
|
"dest_type": "smallint",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "BANKNAME",
|
|
"source_type": "CHAR(31)",
|
|
"dest_name": "bankname",
|
|
"dest_type": "text",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "BNKBRNCH",
|
|
"source_type": "CHAR(21)",
|
|
"dest_name": "bnkbrnch",
|
|
"dest_type": "text",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "SALSTERR",
|
|
"source_type": "CHAR(15)",
|
|
"dest_name": "salsterr",
|
|
"dest_type": "text",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "DEFCACTY",
|
|
"source_type": "SMALLINT",
|
|
"dest_name": "defcacty",
|
|
"dest_type": "smallint",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "RMCSHACC",
|
|
"source_type": "INT",
|
|
"dest_name": "rmcshacc",
|
|
"dest_type": "integer",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "RMARACC",
|
|
"source_type": "INT",
|
|
"dest_name": "rmaracc",
|
|
"dest_type": "integer",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "RMSLSACC",
|
|
"source_type": "INT",
|
|
"dest_name": "rmslsacc",
|
|
"dest_type": "integer",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "RMIVACC",
|
|
"source_type": "INT",
|
|
"dest_name": "rmivacc",
|
|
"dest_type": "integer",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "RMCOSACC",
|
|
"source_type": "INT",
|
|
"dest_name": "rmcosacc",
|
|
"dest_type": "integer",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "RMTAKACC",
|
|
"source_type": "INT",
|
|
"dest_name": "rmtakacc",
|
|
"dest_type": "integer",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "RMAVACC",
|
|
"source_type": "INT",
|
|
"dest_name": "rmavacc",
|
|
"dest_type": "integer",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "RMFCGACC",
|
|
"source_type": "INT",
|
|
"dest_name": "rmfcgacc",
|
|
"dest_type": "integer",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "RMWRACC",
|
|
"source_type": "INT",
|
|
"dest_name": "rmwracc",
|
|
"dest_type": "integer",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "RMSORACC",
|
|
"source_type": "INT",
|
|
"dest_name": "rmsoracc",
|
|
"dest_type": "integer",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "FRSTINDT",
|
|
"source_type": "DATETIME",
|
|
"dest_name": "frstindt",
|
|
"dest_type": "timestamp without time zone",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "INACTIVE",
|
|
"source_type": "TINYINT",
|
|
"dest_name": "inactive",
|
|
"dest_type": "smallint",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "HOLD",
|
|
"source_type": "TINYINT",
|
|
"dest_name": "hold",
|
|
"dest_type": "smallint",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "CRCARDID",
|
|
"source_type": "CHAR(15)",
|
|
"dest_name": "crcardid",
|
|
"dest_type": "text",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "CRCRDNUM",
|
|
"source_type": "CHAR(21)",
|
|
"dest_name": "crcrdnum",
|
|
"dest_type": "text",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "CCRDXPDT",
|
|
"source_type": "DATETIME",
|
|
"dest_name": "ccrdxpdt",
|
|
"dest_type": "timestamp without time zone",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "KPDSTHST",
|
|
"source_type": "TINYINT",
|
|
"dest_name": "kpdsthst",
|
|
"dest_type": "smallint",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "KPCALHST",
|
|
"source_type": "TINYINT",
|
|
"dest_name": "kpcalhst",
|
|
"dest_type": "smallint",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "KPERHIST",
|
|
"source_type": "TINYINT",
|
|
"dest_name": "kperhist",
|
|
"dest_type": "smallint",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "KPTRXHST",
|
|
"source_type": "TINYINT",
|
|
"dest_name": "kptrxhst",
|
|
"dest_type": "smallint",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "NOTEINDX",
|
|
"source_type": "NUMERIC(19,5)",
|
|
"dest_name": "noteindx",
|
|
"dest_type": "numeric",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "CREATDDT",
|
|
"source_type": "DATETIME",
|
|
"dest_name": "creatddt",
|
|
"dest_type": "timestamp without time zone",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "MODIFDT",
|
|
"source_type": "DATETIME",
|
|
"dest_name": "modifdt",
|
|
"dest_type": "timestamp without time zone",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "Revalue_Customer",
|
|
"source_type": "TINYINT",
|
|
"dest_name": "revalue_customer",
|
|
"dest_type": "smallint",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "Post_Results_To",
|
|
"source_type": "SMALLINT",
|
|
"dest_name": "post_results_to",
|
|
"dest_type": "smallint",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "FINCHID",
|
|
"source_type": "CHAR(15)",
|
|
"dest_name": "finchid",
|
|
"dest_type": "text",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "GOVCRPID",
|
|
"source_type": "CHAR(31)",
|
|
"dest_name": "govcrpid",
|
|
"dest_type": "text",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "GOVINDID",
|
|
"source_type": "CHAR(31)",
|
|
"dest_name": "govindid",
|
|
"dest_type": "text",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "DISGRPER",
|
|
"source_type": "SMALLINT",
|
|
"dest_name": "disgrper",
|
|
"dest_type": "smallint",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "DUEGRPER",
|
|
"source_type": "SMALLINT",
|
|
"dest_name": "duegrper",
|
|
"dest_type": "smallint",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "DOCFMTID",
|
|
"source_type": "CHAR(15)",
|
|
"dest_name": "docfmtid",
|
|
"dest_type": "text",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "Send_Email_Statements",
|
|
"source_type": "TINYINT",
|
|
"dest_name": "send_email_statements",
|
|
"dest_type": "smallint",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "USERLANG",
|
|
"source_type": "SMALLINT",
|
|
"dest_name": "userlang",
|
|
"dest_type": "smallint",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "GPSFOINTEGRATIONID",
|
|
"source_type": "CHAR(31)",
|
|
"dest_name": "gpsfointegrationid",
|
|
"dest_type": "text",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "INTEGRATIONSOURCE",
|
|
"source_type": "SMALLINT",
|
|
"dest_name": "integrationsource",
|
|
"dest_type": "smallint",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "INTEGRATIONID",
|
|
"source_type": "CHAR(31)",
|
|
"dest_name": "integrationid",
|
|
"dest_type": "text",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "ORDERFULFILLDEFAULT",
|
|
"source_type": "SMALLINT",
|
|
"dest_name": "orderfulfilldefault",
|
|
"dest_type": "smallint",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "CUSTPRIORITY",
|
|
"source_type": "SMALLINT",
|
|
"dest_name": "custpriority",
|
|
"dest_type": "smallint",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "CCode",
|
|
"source_type": "CHAR(7)",
|
|
"dest_name": "ccode",
|
|
"dest_type": "text",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "DECLID",
|
|
"source_type": "CHAR(15)",
|
|
"dest_name": "declid",
|
|
"dest_type": "text",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "RMOvrpymtWrtoffAcctIdx",
|
|
"source_type": "INT",
|
|
"dest_name": "rmovrpymtwrtoffacctidx",
|
|
"dest_type": "integer",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "SHIPCOMPLETE",
|
|
"source_type": "TINYINT",
|
|
"dest_name": "shipcomplete",
|
|
"dest_type": "smallint",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "CBVAT",
|
|
"source_type": "TINYINT",
|
|
"dest_name": "cbvat",
|
|
"dest_type": "smallint",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "INCLUDEINDP",
|
|
"source_type": "TINYINT",
|
|
"dest_name": "includeindp",
|
|
"dest_type": "smallint",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "DEX_ROW_TS",
|
|
"source_type": "DATETIME",
|
|
"dest_name": "dex_row_ts",
|
|
"dest_type": "timestamp without time zone",
|
|
"description": null
|
|
},
|
|
{
|
|
"source_name": "DEX_ROW_ID",
|
|
"source_type": "INT",
|
|
"dest_name": "dex_row_id",
|
|
"dest_type": "integer",
|
|
"description": null
|
|
}
|
|
],
|
|
"watermarks": [],
|
|
"hooks": []
|
|
}
|