183
Views
4
Comments
Solved
Database Upgrade Error  Column 'OSUSR_TUD_CONTRACT1.CONTRACTFILENAME' exists
Application Type
Reactive

Database Upgrade Error

Column 'OSUSR_TUD_CONTRACT1.CONTRACTFILENAME' exists in database as Binary Data (varbinary) but the new version is defined as Text (NVARCHAR(50)). Database varbinary columns can not be changed.

How to resolve it  ? 

I have just changed one data-type to another in Entity

2018-10-29 08-31-03
João Marques
 
MVP
Solution

Hi Md,


When you delete the attribute in OutSystems, the column is not deleted in the database (so rollbacks can occur eventually later on). The column is disregarded from the data model, so from the standpoint of Service Studio it doesn't exist but it is still there. Because of that, when you try to have the new attribute with the same name, you get an error in the database server for trying to create another column with the name of an existing one.

What you could do, if you have access to the database, would be 1) remove the attribute in Service Studio and publish 2) delete the column in SQL database and 3) add the attribute in Service Studio and publish.

Not having that access, I would call the new attribute a different thing and take this example for the future to be careful when defining the attributes in an entity.


Kind Regards,
João

2018-10-29 08-31-03
João Marques
 
MVP

Hi Md Noorullah Raza,


That's normal you have this error, there are types which are not compatible to be changed, and binary and text are very different.

What you can do is to delete the old attribute and create a new one, and publish the module.


Kind Regards,
João

2022-11-26 06-46-18
Md Noorullah Raza

Hi João Marques , 

I have tried with changing the name it works , but after renaming it to earlier name,  shows the error.


So from where it is referring .

what if , I have to keep that previous name only. Is there any way to do that

2018-10-29 08-31-03
João Marques
 
MVP
Solution

Hi Md,


When you delete the attribute in OutSystems, the column is not deleted in the database (so rollbacks can occur eventually later on). The column is disregarded from the data model, so from the standpoint of Service Studio it doesn't exist but it is still there. Because of that, when you try to have the new attribute with the same name, you get an error in the database server for trying to create another column with the name of an existing one.

What you could do, if you have access to the database, would be 1) remove the attribute in Service Studio and publish 2) delete the column in SQL database and 3) add the attribute in Service Studio and publish.

Not having that access, I would call the new attribute a different thing and take this example for the future to be careful when defining the attributes in an entity.


Kind Regards,
João

2022-11-26 06-46-18
Md Noorullah Raza

Thanks João Marques ,


I will definitely be careful while defining the attributes in future.

And thanks for your explanation 


Kind Regards

Md Noorullah Raza

Community GuidelinesBe kind and respectful, give credit to the original source of content, and search for duplicates before posting.