I added a few Entities and one of the entity is named as Employee.

When i first created it, i leave the ID attribute and data type as default. Then 10 minutes later, I changed the ID attribute to 'User Identifier' data type and I encounter an error.

"Database Upgrade Error
Column 'OSUSR_3SL_EMPLOYEE.ID' exists in database as Long Integer (Autonumber) but the new version is defined as Integer (INT). Database Autonumber columns can not be changed."

There are two files in the zip attachment. EmployeeManage_Core and 2019-02-03_1740.swf. The latter is created using Jing to show you how I bump into the error.


How can I use UserId() system default entity in my app? The users are created in http://curio.outsystemscloud.com/Users

Hello Christopher,

1. After you publish an entity, you simply can't change the Identifier properties, even if your entity is empty. This is done to ensure no one is able to change an entity that is already in use in production and cause havoc there. 

2. Usually, if you need to change the ID and you don't care about data anywhere, you just copy and paste the entity, delete the old one, change the ID data type, etc, and then publish.

3. You can extend the User entity setting the ID of an entity to User Identifier (name the Id to UserId should be enough to automatically change the data type), and ONLY AFTER this is done you publish the module.

Side note: If you want to share modules or applications in the forum, share the ONL or OAP, not a zip, as this way it is not possible to install/publish them in our environments.

Cheers.