Preventing Unnecessary Exposed Columns for New Properties in Pega Constellation

Hi Team,

Whenever we add a new property to the data model of a class, it is getting exposed to the database by default. This is resulting in a large number of unnecessary exposed columns, especially for properties that are only used as transient flags, UI conditions, or if/else processing logic and are not intended to be persisted.

Is there a setting, or configuration in Pega that can prevent new properties from being automatically exposed? We would like to expose only those properties that require reporting.

Any guidance would be appreciated.

@MarcCheong @RameshSangili

Thanks.

If the properties are being added through the Case Type data model, what you’re seeing may be expected behavior, particularly when using App Studio. I’m not aware of an OOTB setting that prevents automatic column creation for all newly added case properties. For transient flags, UI conditions, or processing-only values, consider using page structures (Data object).

There is no setting to prevent this. In most circumstances it is expected behavior.

Are you concerned from db performance perspective? If yes I think you can remove unnecessary columns periodically as part of review proces.s

As above - this is the direction of travel for our architecture. Simplifying things so that Pega is easier to implement.

In these kinds of scenarios you can still use Dev Studio to do it in a traditional way. However, you do risk some some of some of the modern features for this. For example, those fields are exposed for Explore Data / Insights, so you wouldn’t be able to report on these.

@RameshSangili / @MarcCheong / @Kamil_Janeczek ,

While a Page type is a valid approach & helps, it also requires creating an additional class, which adds development and maintenance overhead for what may be a relatively straightforward requirement.

Also, we understand that the current behavior is aligned with the architectural direction and supports capabilities such as Explore Data and Insights. However, in practice this has become a recurring maintenance activity for many teams, as every property added through the Data Model Designer gets exposed automatically.

Removing/Deleting a property from the data model does not remove the corresponding database column and for Pega Cloud customers, the challenge is amplified as there is no DB access and often required RDB or CC requests to drop unused columns. Over time, this leads to unnecessary schema growth and periodic cleanup exercises.

Instead of making exposure the only default behavior, it would be beneficial to introduce a setting that allows customers to choose whether properties created via the Data Model Designer should be exposed by default or not.

Thanks

Hi @SSrinivas ,

We can delete or drop a column through Pega if the respective column does not contain any data. No RDB or CC request is not required.

Configure > System > Database > Optimize Schema

Thanks,
Ashok

@Bhumireddy

The concept of an unused column addresses a different problem. An unused column can be removed only after the property mapping has been deleted and any report references have been cleaned up. That requires a separate cleanup exercise.

The ask here is different: the property should continue to exist and be available for application logic, but it should not necessarily result in a database column being exposed by default. The goal is to give teams the flexibility to decide whether a property needs database exposure or not.