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>
227 lines
5.6 KiB
JSON
227 lines
5.6 KiB
JSON
{
|
|
"name": "fresre",
|
|
"source_connection": "S78030956",
|
|
"dest_connection": "usmidsap02",
|
|
"dest_table": "cms.fresre",
|
|
"staging_table": "pipekit_staging.fresre",
|
|
"merge_strategy": "full",
|
|
"merge_key": null,
|
|
"enabled": 1,
|
|
"dest_description": "Resource equipment Master-Future costs 6.1",
|
|
"description": "Future Resource Master",
|
|
"columns": [
|
|
{
|
|
"source_name": "R9DEPT",
|
|
"source_type": "CHAR(5)",
|
|
"dest_name": "r9dept",
|
|
"dest_type": "text",
|
|
"description": "Production Department Code"
|
|
},
|
|
{
|
|
"source_name": "R9RESC",
|
|
"source_type": "CHAR(5)",
|
|
"dest_name": "r9resc",
|
|
"dest_type": "text",
|
|
"description": "Resource Code"
|
|
},
|
|
{
|
|
"source_name": "R9BRDR",
|
|
"source_type": "NUMERIC(8,2)",
|
|
"dest_name": "r9brdr",
|
|
"dest_type": "numeric(8,2)",
|
|
"description": "Fixed Burden Rate"
|
|
},
|
|
{
|
|
"source_name": "R9CREW",
|
|
"source_type": "NUMERIC(2,0)",
|
|
"dest_name": "r9crew",
|
|
"dest_type": "numeric(2,0)",
|
|
"description": "Default Crew Size"
|
|
},
|
|
{
|
|
"source_name": "R9BRDP",
|
|
"source_type": "NUMERIC(4,0)",
|
|
"dest_name": "r9brdp",
|
|
"dest_type": "numeric(4,0)",
|
|
"description": "Fixed Burden %"
|
|
},
|
|
{
|
|
"source_name": "R9LABS",
|
|
"source_type": "NUMERIC(8,2)",
|
|
"dest_name": "r9labs",
|
|
"dest_type": "numeric(8,2)",
|
|
"description": "Set-up Labour Rate"
|
|
},
|
|
{
|
|
"source_name": "R9LABR",
|
|
"source_type": "NUMERIC(8,2)",
|
|
"dest_name": "r9labr",
|
|
"dest_type": "numeric(8,2)",
|
|
"description": "Run Labour Rate"
|
|
},
|
|
{
|
|
"source_name": "R9VBRD",
|
|
"source_type": "NUMERIC(8,2)",
|
|
"dest_name": "r9vbrd",
|
|
"dest_type": "numeric(8,2)",
|
|
"description": "Variable Burden Rate"
|
|
},
|
|
{
|
|
"source_name": "R9BDVP",
|
|
"source_type": "NUMERIC(4,0)",
|
|
"dest_name": "r9bdvp",
|
|
"dest_type": "numeric(4,0)",
|
|
"description": "Variable Burden %"
|
|
},
|
|
{
|
|
"source_name": "R9CDRC",
|
|
"source_type": "CHAR(10)",
|
|
"dest_name": "r9cdrc",
|
|
"dest_type": "text",
|
|
"description": "Burden Cost Driver Code"
|
|
},
|
|
{
|
|
"source_name": "R9CDRF",
|
|
"source_type": "NUMERIC(15,5)",
|
|
"dest_name": "r9cdrf",
|
|
"dest_type": "numeric(15,5)",
|
|
"description": "Driver Rate Fixed Burden"
|
|
},
|
|
{
|
|
"source_name": "R9CDRV",
|
|
"source_type": "NUMERIC(15,5)",
|
|
"dest_name": "r9cdrv",
|
|
"dest_type": "numeric(15,5)",
|
|
"description": "Driver Rate Variable Burden"
|
|
},
|
|
{
|
|
"source_name": "R9CDUM",
|
|
"source_type": "CHAR(3)",
|
|
"dest_name": "r9cdum",
|
|
"dest_type": "text",
|
|
"description": "Driver Rate Unit"
|
|
},
|
|
{
|
|
"source_name": "R9USLF",
|
|
"source_type": "CHAR(1)",
|
|
"dest_name": "r9uslf",
|
|
"dest_type": "text",
|
|
"description": "Use Labour Fixed"
|
|
},
|
|
{
|
|
"source_name": "R9USLV",
|
|
"source_type": "CHAR(1)",
|
|
"dest_name": "r9uslv",
|
|
"dest_type": "text",
|
|
"description": "Use Labour Variable"
|
|
},
|
|
{
|
|
"source_name": "R9PLNT",
|
|
"source_type": "CHAR(3)",
|
|
"dest_name": "r9plnt",
|
|
"dest_type": "text",
|
|
"description": "Plant Code"
|
|
},
|
|
{
|
|
"source_name": "R9FUT1",
|
|
"source_type": "CHAR(10)",
|
|
"dest_name": "r9fut1",
|
|
"dest_type": "text",
|
|
"description": "Future Use"
|
|
},
|
|
{
|
|
"source_name": "R9FUT2",
|
|
"source_type": "CHAR(10)",
|
|
"dest_name": "r9fut2",
|
|
"dest_type": "text",
|
|
"description": "Future Use"
|
|
},
|
|
{
|
|
"source_name": "R9FUT3",
|
|
"source_type": "CHAR(10)",
|
|
"dest_name": "r9fut3",
|
|
"dest_type": "text",
|
|
"description": "Future Use"
|
|
},
|
|
{
|
|
"source_name": "R9FUT4",
|
|
"source_type": "CHAR(20)",
|
|
"dest_name": "r9fut4",
|
|
"dest_type": "text",
|
|
"description": "Future Use"
|
|
},
|
|
{
|
|
"source_name": "R9FUT5",
|
|
"source_type": "CHAR(30)",
|
|
"dest_name": "r9fut5",
|
|
"dest_type": "text",
|
|
"description": "Future Use"
|
|
},
|
|
{
|
|
"source_name": "R9FUT6",
|
|
"source_type": "NUMERIC(15,5)",
|
|
"dest_name": "r9fut6",
|
|
"dest_type": "numeric(15,5)",
|
|
"description": "Future Use"
|
|
},
|
|
{
|
|
"source_name": "R9FUT7",
|
|
"source_type": "CHAR(3)",
|
|
"dest_name": "r9fut7",
|
|
"dest_type": "text",
|
|
"description": "Future Use"
|
|
},
|
|
{
|
|
"source_name": "R9FUT8",
|
|
"source_type": "CHAR(1)",
|
|
"dest_name": "r9fut8",
|
|
"dest_type": "text",
|
|
"description": "Future Use"
|
|
},
|
|
{
|
|
"source_name": "R9FUT9",
|
|
"source_type": "CHAR(1)",
|
|
"dest_name": "r9fut9",
|
|
"dest_type": "text",
|
|
"description": "Future Use"
|
|
},
|
|
{
|
|
"source_name": "R9FUTA",
|
|
"source_type": "CHAR(1)",
|
|
"dest_name": "r9futa",
|
|
"dest_type": "text",
|
|
"description": "Future Use"
|
|
},
|
|
{
|
|
"source_name": "R9FUTB",
|
|
"source_type": "CHAR(1)",
|
|
"dest_name": "r9futb",
|
|
"dest_type": "text",
|
|
"description": "Future Use"
|
|
},
|
|
{
|
|
"source_name": "R9FUTC",
|
|
"source_type": "CHAR(1)",
|
|
"dest_name": "r9futc",
|
|
"dest_type": "text",
|
|
"description": "Future Use"
|
|
},
|
|
{
|
|
"source_name": "R9VKTR",
|
|
"source_type": "CHAR(10)",
|
|
"dest_name": "r9vktr",
|
|
"dest_type": "text",
|
|
"description": "Virtual Kanban Time-On-Hand Range Code"
|
|
},
|
|
{
|
|
"source_name": "R9VKTY",
|
|
"source_type": "CHAR(1)",
|
|
"dest_name": "r9vkty",
|
|
"dest_type": "text",
|
|
"description": "Virtual Kanban Type"
|
|
}
|
|
],
|
|
"watermarks": [],
|
|
"hooks": []
|
|
}
|