The rationale with regards to why a new column is created in the table is clear and makes sense.
In my view the defined approach should be followed in the following scenarios:
Where it does not make sense is the following scenario:
When renaming the attribute the underlying table and column definition should not be impacted as the Attribute name is defined at the metamodel system level.
Yes, this will impact any external ODBS access but this is requiring manual intervention and management today.
An OutSystems best practice is to use "Meaningful names".
Consider the following question in the context of the below statements;
Why should a new column be created in the database table?
A change to the name needs to be made if the name best practice was not followed correctly.A change to the name needs to be made so that it is more meaningful.The underlying data type andthe business intent of column do not change.
A change to the name needs to be made if the name best practice was not followed correctly.
A change to the name needs to be made so that it is more meaningful.
The underlying data type andthe business intent of column do not change.
In OutSystems you can change the Entity Name without consequences, but when you change an Attribute Name, you loose the data in that column.
This is because it's creating another attribute and the old attribute is still there but hidden. Renaming this back to the original attribute name will show the data again. Is this because there is another technical key to identify the Entity, but there is none for the attribute?
I would like to change an attribute name without consequences.
Now, if I want to change an attribute name, I would create a new attribute, then copy the data of the old attribute to the new attribute with an sql statement and delete the old attribute.
I would like to change the attribute name without loosing the data. Functionally OutSystems should know what I want, when I change the name. Don't ask me to do all those manual steps for such a simple action. Please do this all automatically behind the screen.
I find it hard to believe this bug has existed for so long. Altering the name of a attribute is such a basic requirement, please address this.
I try to understand the rationale behind this design decision, but this is not the expected behavior for a common developer.
When I show this behavior to junior developers, their jaw just drops!
"What, this is how OutSystems Platform deals with this situation?!"
Yes, I have a hard time explaining it. It doesn't make much sense from a developer's point of view.
It would be nice to have this fixed to the expected behavior that everybody mentions.
Can i ask when this idea was put "on our radar" ?
It is amazing this 'feature' still exists: If i wanted to create another attribute i could simply create one, then delete the old one. But when i do a rename this is what i want: rename, not create a new attribute.
In my opinion this idea should be on top of mind.
At least show a warning dialog mentioning this behaviour when try renaming attribute. Otherwise it is easy to forget this "cool feature"
When you rename an attribute of an entity, a new column is created in database.
This is good for reverting to older espaces versions without breaking stuff but cumbersome in application maintenance (new attribute, migrate data, remove old attribute next release). I would like to have more control/choices like:
- Option to "flag" an old attribute as obsolete as a reminder- Auto generate a server action for data migration- See the old/original attribute name in properties- Have a functional and technical name for an attribute (same as entities).
Thank you so much, Rene!
I'm marking your idea as "On our radar" because we liked it and to check whether other developers would find it useful as well.
Have a nice day, Ângela
As long as we can rename attributes without losing the data i am 100% in favor.
For the love of god, can you at least add a warning message when someone tries to rename an attribute in an entity with data in it?!?!?!?!?
Hi NathanHobs,
Attributes can be renamed, but the underlying column not, so the column is still there and the data too.
Regards,
Daniel
Daniel,
Yes I know. But if someone mis-spells an attribute name, then corrects it later, outsystems does not warn them that the renamed attribute will be blank.
There should be a warning.
Nathan
I'm upvoting for a warning message in the ServiceStudio when renaming the attribute. This could save hundreds of hours and tons of developers' nerves.
13 years later and the bug it still there.
There's not a single database system on the planet that works like this.
In both SQL Server and Oracle the column names can be changed as much as you like.
It's just ridiculous, there's no excuse for it, and the fact that there is no warning makes it ten times worse.
Currently there is no way to update the Entity attribute data type once published. A work around would be rename the current attribute and create a new attribute with the same name. If it keeps the relation intact rather going on the name the can be achieved. Currently there is no way to update the data type once you publish.
Hello Rajesh,
There is a very similar idea that talks about the same outcome:
https://www.outsystems.com/ideas/71/rename-entity-attributes-without-loosing-the-database-content/
I will merge the two ideas to increase the votes and so that we can manage this topic in one single place ok?
Cheers,
When we change a name of an entity attribute that already has data, I know that in the background, a new field is created beeing empty and the old one is keep with the data for preventing purpose.
It would be nice that the data is automatically copy to the new field so we don't need to run a script to copy the data back again.
Maybe this would be usefull for most of the people.
Do you really need to run the script to populate the data?
why don't you try publish and then fetch data. I hope this will work. Just give a try.
Good idea but one of the oldest ideas (#71) on the Ideas page. Will merge it.
Oh great. Thanks @Daniel Kuhlmann
Hi @Daniël Kuhlmann , do you know if there is any update on this idea started 14 years ago? Are there any developments being made or planned? For the base problem, or for the warning message as already discussed above?
Currently, renaming an entity's attribute results in data loss. The system should support renaming entity columns without impacting the existing data.
not saying I agree or disagree, but you do know that the data isn't really lost, right ? You could still recover it and populate the newly created column.
Before posting ideas, please validate that your ideas isn't posted before.
I will merge yours into the original (15 years old) idea.
Given the original Idea is there for 15 years, I conclude OutSystems will not implement it.