November Happy Hour will be moved to Thursday December 5th.

unable to delete orphaned settings

Vote:
 

I have had a bug in my code which erroneously added settings to the SettingsRepository using the following code (simplified):

var propertySettingsRepository = ServiceLocator.Current.GetInstance();
var newSettings = new PropertyMediaSettings()
var settings = new PropertySettingsWrapper(Name, string.Empty, true, false, newSettings);
var settingsContainer = new PropertySettingsContainer(settingsId)
settingsContainer.AddSettings(settings);
propertySettingsRepository.Save(settingsContainer);

My problem is that i have lost all refernce to the settingscontainer, but this code ran enough times to build up a really big table of data.

How can I delete all this data? I cannot find any method to enumerate all existing settings using IPropertySettingsRepository

#142396
Dec 10, 2015 13:36
Vote:
 

Have a look in tblSystemBigTable in the database and see if you can find them there.

#142560
Dec 14, 2015 17:02
Vote:
 

You can try using the Geta's DDSAdmin addon.

Both PropertySettingsContainer and PropertySettingsWrapper are stored in tblSystemBigTable through PropertySettingsRepository which calls the underlying DDS store, this means you can use DynamicDataStore to enumerate all existing settings by yourself.

#142582
Dec 15, 2015 3:44
Vote:
 

Thanks, I found hte settings in the DynamicDataStore (using the Geta tool).

However when I tried to delete the settings my database somehow got corrupt and the page properties using the deleted settings was no longer editable. (Object Reference Error).

I probably should make sure I did not use any of the settings before deleting them. Also I'm conserned that while I can delete the settings , the settingsWtrappers and SettingsContainers will still linger somewhere in the database.

Is it possible to get the wrapper or container from the settings (using the id)?

 

#142588
Dec 15, 2015 10:34
* You are NOT allowed to include any hyperlinks in the post because your account hasn't associated to your company. User profile should be updated.