How is your experience with the OutSystems Community?
16
Views
1
Comments
This integration has pending changes. Publish it again to ensure that it is up to dat
Question
Application Type
Reactive

Hello OutSystems Support Team,

I'm experiencing an issue with Integration Builder.

I'm trying to apply changes made to an external database extension in the Integration Builder console. The external database is Microsoft SQL Server.

However, the changes are not being applied successfully. Instead, after I publish the integration, the following message continues to appear:

"This integration has pending changes. Publish it again to ensure that it is up to date."

No matter how many times I publish the integration, the same message keeps appearing, and the changes are never applied.

Could you please help me understand what might be causing this issue and how I can resolve it?

Thank you very much for your assistance.

2023-12-26 10-35-28
OutSystems Neo
Staff
AI Generated

You’re seeing two different things mixed together here:

  1. How OutSystems handles external databases, and
  2. A likely bug or inconsistency in Integration Builder’s “pending changes” detection.

1. Important limitation: external DB schema is not updated by OutSystems

For external database integrations (SQL Server in your case):

  • OutSystems does not change the schema of the external database (no CREATE TABLE, ALTER TABLE, etc.).
  • The flow is one‑way:
    • You change the schema directly in SQL Server (or via your DBAs).
    • Then you refresh / re-import the external entities in Integration Studio / Integration Builder so the OutSystems model reflects the new schema.

This is the same behavior as external DB extensions in O11: the platform treats external DBs as existing/legacy databases and won’t push schema changes back to them.Unable to update External DB from extension outsystem 10

So if by “changes” you mean:

  • Adding/removing columns in the external SQL Server table, or
  • Creating new tables or changing datatypes on the external DB from the OutSystems side

those changes will never be applied to SQL Server. They must be done directly in SQL Server, and then synced into OutSystems.

If you want OutSystems to own and manage the schema (create/update tables), those tables must be standard OutSystems entities in the OutSystems main database, not external entities.Unable to update External DB from extension outsystem 10

2. Why “This integration has pending changes” keeps appearing

Given the above, what’s likely happening:

  • You modified the external entities (or mappings) in the integration.
  • Integration Builder detects that something changed in the model and flags “pending changes”.
  • When you publish, the integration extension is updated in OutSystems, but:
    • No DB schema is altered (by design).
    • Something in the integration definition remains inconsistent (or it re-detects the same diff), so Integration Builder thinks there are still pending changes and shows the same message.

This loop can be caused by e.g.:

  • A mapping or configuration that isn’t actually applied because the external DB hasn’t changed accordingly.
  • A subtle bug in the Integration Builder pending-changes detection logic.

3. How to move forward / what to check

Use these checks to distinguish expected behavior from a real problem:

  1. Confirm the type of change you’re expecting:

    • If you expect SQL Server schema to change when you publish from OutSystems → that will never happen for external DBs; you must update SQL Server directly.
    • If you only changed OutSystems-side definitions (e.g., types, labels, or mappings) and want those to be used in your app → these should be applied on publish; test your app’s behavior rather than relying only on the banner message.
  2. Verify the external DB schema manually:

    • Open SQL Server and confirm whether the tables/columns/datatype changes exist there.
    • If they do not, remember you must change them in SQL Server, not in Integration Builder.
  3. Refresh / re-import the external schema:

  4. Check if the integration actually works:

    • Publish the integration.
    • In your O11 module, recompile and test CRUD operations against the external entities.
    • If the operations behave as per the current SQL Server schema, then the integration is functionally correct and the “pending changes” banner is likely just a UI/state issue.
  5. If the banner persists but behavior is correct:

    • This is most likely a known limitation/bug of Integration Builder’s status detection around external DB changes.
    • In that case, capture:
      • Integration name
      • Environment version (Platform Server and Integration Builder)
      • A short description of the exact steps you did (change → publish → message)
    • And open a Support case with OutSystems so they can inspect logs and fix the status inconsistency.

4. Summary

  • OutSystems does not push schema changes to SQL Server for external database integrations; schema changes must be done in SQL Server and then imported/updated in OutSystems.Unable to update External DB from extension outsystem 10
  • The “This integration has pending changes” message repeating after publish is typically a status inconsistency in Integration Builder rather than a failed schema update.
  • Focus on whether:
    • The integration compiles and is used correctly by your modules.
    • The external DB schema in SQL Server matches what you actually want.
  • If behavior is correct but the message persists, involve OutSystems Support with your environment details so they can confirm and address it on the Integration Builder side.

If you share what exact kind of change you made (new column, datatype change, rename, etc.) and whether you changed it in SQL Server or only in Integration Builder, I can suggest a more precise sequence of steps.

This answer was AI-generated. Please read it carefully and use the forums for clarifications
Community GuidelinesBe kind and respectful, give credit to the original source of content, and search for duplicates before posting.