Refresh metadata after every Mendix deploy

DMM Infinity caches the entity model it learned from the agent. The cache stays alive across UI sessions; your domain model does not.

3 min read

Each environment in DMM Infinity has a snapshot of its domain model — the list of entities, attributes, and references — fetched from the agent at connection time and on explicit refresh. The pipeline builder reads from that snapshot. It does not query the live agent every time you open it.

The pitfall in one line
Add an attribute in Mendix Studio Pro, deploy, run yesterday's pipeline. The new attribute is missing from the target. No warning. No error. Just a gap.

Why this happens

The metadata cache is a deliberate performance choice — refetching the full model on every interaction would make the UI sluggish and put unnecessary load on the agent. The cost of that choice is that DMM Infinity cannot tell you the model has changed unless you ask it to look. Pipelines built against an older snapshot keep working: they copy the entities and attributes they were configured to copy, and silently leave new ones behind.

The Refresh button on the Select Entities step is the single source of truth for "what does the target environment actually look like right now". It re-fetches the model, updates the snapshot, and surfaces any new or removed entities and attributes in the tree.

When to refresh

After any Mendix deploy that touches the model, refresh both source and target. After renaming or removing anything, refresh — pipelines that referenced the old names will fail at run time, and the refresh is the cheapest way to find out before you press Run.

Do
  • ·Refresh metadata immediately after a Mendix deploy that changes the domain model.
  • ·Refresh both source and target — the pipeline checks both snapshots at run time.
  • ·Re-validate your entity selection after refresh; new required FKs may have appeared.
  • ·Make "refresh metadata" part of the deploy checklist for any team running scheduled DMM Infinity pipelines.
Don't
  • ·Assume the build will fail if metadata is stale. It won't — it'll just copy the old shape.
  • ·Edit a pipeline that was built against an older model without refreshing first.
  • ·Skip refresh because "the change was small". Small additions silently disappear too.

A concrete example

The Finance module added a taxRegion attribute to the Invoice entity in a Friday deploy. The attribute was used by the new tax-aggregation flow that went live the following Monday. Three nights of nightly Copy runs from QA to Reporting landed Invoice rows in Reporting without taxRegion— the metadata cache from the last refresh, two weeks earlier, did not know the column existed.

For 72 hours the Reporting dashboard aggregated NULL as zero across all regions. The error was spotted at the Wednesday quarterly review. A 30-second refresh on either environment would have surfaced the new attribute and let the team add it to the pipeline before the first run.

Rule of thumb
After every Mendix deploy that touches the model, refresh source and target before the next run. Treat it like restarting your terminal after editing your shell profile — non-obvious in the moment, obvious in hindsight.
Still need help?
If this article does not solve it, the DMM Infinity team is one ticket away.
Submit a ticket