Before renaming or removing a custom schema, you need to know everywhere it is referenced β queryDef calls in JavaScript codes, workflow targeting activities, input forms, and typology rules. Modifying a schema without this audit silently breaks anything that queries it.
acc downloads your entire instance as local files. Search for any schema name across all metadata in seconds and get a complete dependency map before making changes.
Preparation
Requirements: acc installed and authenticated. Refer to Getting started.
What will be downloaded:
- JavaScript codes as
.jsfiles - Workflows as
.xmlfiles - Input forms as
.xmlfiles - Delivery templates as
.htmland.xmlfiles - Typology rules as
.xmlfiles
Walkthrough
1. Pull your instance
acc instance pull
To target only the metadata most likely to reference schemas:
acc instance pull --metadata xtk:javascript,xtk:workflow,xtk:form,nms:deliveryTemplate,nms:ruleFilter
2. Search for the schema name
Search for the schema namespace and name β for example cus:myTable. In VS Code (Ctrl+Shift+F):
cus:myTable
Common patterns that will appear in results:
| Pattern | Location | Meaning |
|---|---|---|
schema="cus:myTable" |
.xml workflow |
QueryDef or enrichment targeting that schema |
queryDef schema="cus:myTable" |
.js file |
JavaScript code querying that schema |
xtkschema="cus:myTable" |
.xml form |
Input form bound to that schema |
NLWS.cusMyTable |
.js file |
NLWS object using that schema |
3. Assess the impact
For each result, determine whether the reference will break after the schema change:
- A
queryDefon a renamed schema will throw at runtime - A workflow enrichment on a deleted schema will fail silently
- A JavaScript
NLWScall on a removed schema will throw at execution time
Validation & troubleshooting
No results for a schema you know exists
The metadata containing that reference may not be included in your acc.config.json. Add xtk:workflow or xtk:javascript to the schemas array and re-pull. Refer to Configuration reference.
Too many false positives
Search for the full namespace-qualified name (cus:myTable) rather than just the table name (myTable). If the schema shares a name with a native schema, prefix the search with schema="cus: to filter to custom namespace references only.
Going further
Audit reverse references
Also search for the schemaβs primary key field name (e.g. iMyTableId) to catch raw SQL references in sqlExec or sqlGetDouble calls that wonβt appear in queryDef searches.
Document the dependency map
In VS Code, right-click the search results panel and Copy All to paste into a spreadsheet or ticket before starting the schema migration.