Current project was migrated from Umbraco Cloud and currently has multiple Umbraco 8 instances (same code base different databases) in Azure. People who worked before with this project, made all the changes to content structure in each site manually. Now I want to introduce USync, but the problem is (besides inconsistencies) that USync wants to recreate some of the fields (the ones added manually) in documented types. Other inconsistencies were dealt by consolidating uniqueId field values in umbracoNode table. Has anyone dealt with similar situation and knows safe way to consolidate databases between environments?
uSync will attempt to reconcile what it can by alias and key, in the file, so in theory if someone has added a new property on a document type as long as the alias is the same uSync shouldn't attempt to add the field again.
however, if the properties have different aliases, then it will attempt to create a new one, but it also checks the key (guid) of a property type, so if that matches between the file and value in the DB it won't create a new property type rather it will update the existing one.
I would export from both sites and have a look at the differences between the files uSync produces, you might be able to get over some of the creation problems by fixing the Key values for the inconsistent property types.
Thanks for suggestion. Currently I am investigating in similar fashion as you have suggested, though comparison between USync files indeed sounds easier than USync to DB comparison.
In my case though it doesn't try to create new property, it tries to recreate one, so alias is definitely not the problem.
I've asked the question partially to be sure if my changes won't be superficial and I won't leave something out.
Has a quick check, based on the logic in uSync (v8),
It will look to find things by key, then by alias (this is case-sensitive so "myProperty" is different from "MyProperty")
if this fails then a new property is created.
it will then look for the underling datatype (e.g a textbox is Umbraco.Textbox) if the datatype (e.g a package is not installed that is on the source) is missing then it will to not be able to create the property *(but this should be logged somewhere when you run the import) *
feel free to send me some files ([email protected]) if you want me to have a sanity check and see if can work out why it's trying to create new properties.
Thanks for offer, I've progressed with the solution. To solve field recreation issue using node Definition (from Usync file of content type) to update entry in umbracoNode table and using Key node to update entry in cmsPropertyType. Additionally, differences in keys in nodes ContentType and Template, should be consolidated through umbracoNode table too.
Umbraco 8 USync - consolidate document types
Current project was migrated from Umbraco Cloud and currently has multiple Umbraco 8 instances (same code base different databases) in Azure. People who worked before with this project, made all the changes to content structure in each site manually. Now I want to introduce USync, but the problem is (besides inconsistencies) that USync wants to recreate some of the fields (the ones added manually) in documented types. Other inconsistencies were dealt by consolidating uniqueId field values in umbracoNode table. Has anyone dealt with similar situation and knows safe way to consolidate databases between environments?
Hi,
uSync will attempt to reconcile what it can by alias and key, in the file, so in theory if someone has added a new property on a document type as long as the alias is the same uSync shouldn't attempt to add the field again.
however, if the properties have different aliases, then it will attempt to create a new one, but it also checks the key (guid) of a property type, so if that matches between the file and value in the DB it won't create a new property type rather it will update the existing one.
I would export from both sites and have a look at the differences between the files uSync produces, you might be able to get over some of the creation problems by fixing the Key values for the inconsistent property types.
Thanks for suggestion. Currently I am investigating in similar fashion as you have suggested, though comparison between USync files indeed sounds easier than USync to DB comparison.
In my case though it doesn't try to create new property, it tries to recreate one, so alias is definitely not the problem.
I've asked the question partially to be sure if my changes won't be superficial and I won't leave something out.
Hi,
Has a quick check, based on the logic in uSync (v8),
It will look to find things by key, then by alias (this is case-sensitive so "myProperty" is different from "MyProperty")
if this fails then a new property is created.
it will then look for the underling datatype (e.g a textbox is Umbraco.Textbox) if the datatype (e.g a package is not installed that is on the source) is missing then it will to not be able to create the property *(but this should be logged somewhere when you run the import) *
feel free to send me some files ([email protected]) if you want me to have a sanity check and see if can work out why it's trying to create new properties.
Thanks for offer, I've progressed with the solution. To solve field recreation issue using node Definition (from Usync file of content type) to update entry in umbracoNode table and using Key node to update entry in cmsPropertyType. Additionally, differences in keys in nodes ContentType and Template, should be consolidated through umbracoNode table too.
is working on a reply...