In Bizagi, entities have different properties to help you managing the entities. For example, parameter entities can be defined as manageable in the development environment, or the production environment. These properties can be changed at any time, but you need to consider some aspects when you deploy an entity which its properties have been changed. This section explains some scenarios that you need to consider while deploying entities.
Considerations when you create a new business key
You can have entities already deployed in a target environment with existing values. Later you can create a new business key. Existing values must meet the business key condition, that is, cannot have null, empty, or repeated values.
If you deploy an entity with a new business key, Bizagi analyzes if values meet the business key condition. If not, Bizagi deploys the entity successfully, and do not stop the deployment, but the business key is not created in the target environment. You can see if the business key is created successfully in the log
If this happens we recommend leave the entity without business keys in your development environment. To keep consistency between the development and production environment.
After you change the attribute type and define a business key
When you change the attribute type, when the attribute has no dependencies. There are scenarios that force Bizagi to rebuild the column, meaning that Bizagi deletes the existing values of that column. If after changing the attribute type, the column is rebuilt, and you set that attribute as a business key, then in the deployment, Bizagi deploys the attribute type change but does not leave the attribute as a business key, because in the target environment there are null or empty values in that column (because it was rebuilt by the type change).
Considerations after you change the length of an attribute
If you change the length of an attribute, for example from 50 to 10 characters, Bizagi validates that existing values in the target environment can meet the new length. If existing values have a length greater than the newly defined length, the deployment fails.
Considerations with entities managed in the development environment
Parameter entities can be managed either in the development or production environment. When an entity is managed in development, values are included in the deployment package, when the entity is deployed.
After you delete values of an entity managed in the development environment
If you delete values of a parameter entity in development, and you deploy that entity, Bizagi validates if deleted values are being used in existing cases on your target environment. If there are dependencies on those values, Bizagi keeps the values in your target environment and displays a message that values cannot be deleted due to dependency on cases.
Considerations with the administration of parameter entities
Parameter entities can be managed either in the development or production environment. If you change this property and deploy the entity, consider as follows. See where to manage parameter entities.
Change from managed in production to managed in development
If you have an entity managed in the production environment, with existing values used in cases, and then you change where to managed the entity to the development environment, you need to consider the following: if you create new values in the development environment and deploy these changes to the target environment, Bizagi validates if existing values are used in a case. Those values are not deleted, and the deployment can be carried out successfully.
For example, you have a parameter entity with values in the production environment:
And one of those values has been used in a case in the production environment.
Then you change to manage the entity in the development environment.
And you deploy this entity with this change. All values in the production environment are rebuilt (deleted and add again) depending on the values that you set in development. Except for the values used in previous cases. Those values are not deleted in the deployment to keep the consistency of existing cases.
If values are not deleted in the target environment, consider that you are not going to see those values in the development environment.
On the other hand, if existing values are not used in any case, these are deleted when you deploy the entity.
Change from managed in development to managed in production
If you have an existing entity in the target environment managed in development and you change where to manage that parameter entity from development to production environment, and deploy this change, values are kept in the target environment, but now can be managed from the Work Portal.