Issue
Deployment to a Mendix Cloud environment may fail during the database update step. This step takes place during application startup if there are domain model changes, such as new entities, attributes, or index definitions. During this step, Mendix tries to align the database structure with the updated domain model by running Data Definition Language (DDL) commands. These commands create, alter, or drop database tables, columns, indexes, and constraints as needed.
In some cases, deployment to a Mendix Cloud environment fails with the following error in the deployment logs:
An error occurred while executing action 'Execute DDL commands'. com.mendix.m2ee.api.internal.AdminException: Executing DDL commands failed. Caused by: org.postgresql.util.PSQLException: ERROR: column name "ctid" conflicts with a system column name
The application build succeeds locally, but publishing or deploying to the Mendix Cloud environment fails during the database update step.
Environment
Applications hosted in Mendix Cloud
Cause
The issue occurs because ctid is used as an attribute name in the domain model. In PostgreSQL, ctid is a reserved system column name that identifies the physical location of a row in a table. Since PostgreSQL manages this column internally, it cannot be used as a custom attribute name in Mendix applications. Any attempt to create or modify a table with a user-defined column named ctid results in a conflict with this reserved system column.
Solution / Workaround
To resolve the deployment failure, rename any domain model attributes that are named ctid to a different name that does not conflict with PostgreSQL system keywords.
Follow these steps:
Open the affected project in Mendix Studio Pro.
In the Domain Model, locate the entity or entities where
ctidis used as an attribute name.Rename the attribute to a different name.
Save the changes.
Build a new deployment package and deploy it to the Mendix Cloud environment.
To monitor future deployments and troubleshoot similar issues, it is advised to open Live Logs before starting a deployment in the Mendix Portal. This allows you to capture the full error messages generated during the deployment.
Internal information related
255744, 236505, 63765
CLDOPS-14368
C5SASDZBN/p1524733787000544
Additional information
Mendix documentation:
0 Comments